Commençons par le formulaire simple suivant :
<form name="general"> <input type="text" name="champ1" value="Valeur initiale"> </form>Accéder au formulaire
document.forms["general"]ou
document.forms[0]ou
document.general
forms est le tableau des formulaires de document. On peut accéder à un formulaire par son nom ou par son indice (commençant à l'indice 0), via le tableau elements ou directement par son nom
Pour accéder maintenant à la zone de texte, on écrit :
document.forms["general"].elements["champ1"]ou
document.forms["general"].elements[0]ou
document.forms["general"].champ1
elements est le tableau de tous les éléments du formulaire. On peut accéder à un élément par son nom ou par son indice, ou directement par son nom.
Remarques :
var nom_du_champ="champ1"; document.forms["general"].elements[nom_du_champ];Ici, on peut accéder à un élément de formulaire dont le nom est contenu dans une variable JavaScript.
Pour donner le focus au champ texte du haut de cette page, il faut appeler la méthode focus() sur cet élément.
Un événement d'un élément de formulaire est déclenché par le navigateur en réaction à une action ou un changement d'état détecté.
L'introduction à JavaScript présente les différentes manières d'insérer du JavaScript. Il est utile de rappeler comment intégrer du JavaScript dans un événement.
L'événement le plus classique est le clic sur un bouton appelé onclick
Reprenons le même exemple, il s'agit de placer "NOUVEAU" dans la zone de texte du formulaire.
Dans le bouton, on a rajouté l'événement onclick qui reçoit le code JavaScript à exécuter lors du clic sur le bouton.
La syntaxe est :
onclick=' document.forms["changer"].elements["zonetexte"].value = "Encore nouveau" '>
Le code JavaScript doit se mettre entre " ou entre '. Il faut faire très attention à alterner les " et '. On peut écrire :
onclick='alert("Bonjour")'>ou
onclick="alert('Bonjour')">
Pour récupérer le contenu de la zone, on utilise le classique :
document.forms["nom"].elements["zone"].valueLe "contenu traité" est obtenu par l'appel de la fonction escape() qui convertit tous les caractères spéciaux et non visibles (tabulations, retour à la ligne, ...).
escape(document.forms["nom"].elements["zone"].value)La fonction inverse est unescape().
Nous avons vu dans cette page comment manipuler les éléments de formulaires avec le JavaScript.
La page suivante montre les Trucs et astuces de formulaires qui facilitent la saisie dans les formulaires.