venerdì 23 luglio 2010

JavaScript: l'oggetto forms

L'oggetto forms è una proprietà dell'oggetto document, contiene un array di riferimenti a tutti i form presenti nella pagina. Il numero di form nella pagina, quindi, è dato dalla proprietà length. L'accesso all'array è la via più semplice per accedere anche al form, come ad esempio fa questa istruzione: document.forms[0].
Se al form è stato poi assegnato un nome (attraverso la proprietà name), è possibile accedere ad esso attraverso la notazione tipica dei linguaggi a oggetti, come ad esempio fa questa istruzione: document.registrazione (se registrazione è il nome dato al form!).
Un form può avere più elementi: area di testo, bottoni, etichette, caselle di scelta etc... La proprietà elements è un array che raccoglie tutti gli elementi che compongono il form. Ancora una volta, dunque, la proprietà length ritorna il numero di elementi del form. Inoltre, siccome elements è un array, l'accesso a un elemento del form può avvenire con istruzioni simile a questa: document.forms[0].elements[0], che accede al primo elemento del primo form. In alternativa, se all'elemento è stato assegnato un nome, cosa che vi consiglio di fare sempre, possiamo usare la notazione a oggetti, ad esempio: document.registrazione.mail, accede all'elemento di nome mail del form registrazione. L'acceso al valore dell'elemento (non il riferimento, quindi) avviene selezionando la proprietà value dello stesso elemento text o textarea. Se si tratta di una casella di scelta, invece, il valore dell'elemento è dato dalla proprietà selectedIndex, per checkbox va usato invece checked.
La proprietà encoding dell'oggetto form contiene una stringa di testo con la codifica da usare per l'invio dei dati. La proprietà method contiene il valore dell'omonimo attributo del tag html form, può quindi valere get oppure post. La proprietà action raccoglie l'url a cui inviare i dati.
I metodi applicabili a un oggetto di forms sono essenzialmente due e rappresentano le azioni tipiche assegnate ai bottoni di un form. Sono: reset() e submit(). Il primo, se invocato su un oggetto di forms azzera tutti i campi dello stesso. Il secondo metodo, invece, invia i dati presenti nel form all'url specificato in action. Qui trovate una pagina di esempio.

Nessun commento:

Posta un commento