
Les éléments des formulaires ayant un attribut name, peuvent être récupérés dans l'une des variables $_POST[] OU $_GET[] selon la méthode employée indiquée dans l'attribut method.
L'attribut name est donc indispensable pour faire les requêtes.
Prenons l'exemple du formulaire suivant
<form name="monformulaire"> <input type="text" name="champ1" value="Valeur initiale"> </form>
On peut accéder à un élément par son nom ou par son indice dans le tableau elements[], ou directement par son nom.
Ainsi, pour accéder à la valeur de la zone de texte, on peut écrire indifféremment
document.forms["monformulaire"].elements["champ1"].value document.forms["monformulaire"].elements[0].value document.forms["monformulaire"].champ1.value document.monformulaire.champ1.value
Il est préférable d'utiliser le nom des éléments, plutôt que les indices, car les noms sont indépendants de l'organisation du formulaire.
L'utilisation des tableaux forms[] et elements[] permet d'accéder à un élément de formulaire dont le nom est contenu dans une variable javascript.
var nom_du_champ="champ1"; document.forms["general"].elements[nom_du_champ];
Prenons l'exemple du formulaire suivant
<form id="monformulaire"> <input type="text" name="champ1" value="Valeur initiale" /> </form>
En XHTML, l'attribut name n'est valide que pour les éléments d'un formulaire. Dans les autres cas on utilise l'attribut id, y compris pour l'attribut form.
On peut bien entendu également placer un attribut id aux éléments d'un formulaire, mais seul l'attribut name est transmis dans les requêtes POST et GET.
On utilisera donc toujours l'attribut id pour la form, alors que pour les éléments on utilisera name et facultativement id.
On peut donc écrire var forme = document.getElementById('monformulaire'); et accéder à la valeur de la zone de texte par forme.champ1.value.
Si l'on donne l'attribut id="champ1" à la zone de texte, on peut aussi y accéder par document.getElementById('champ1').