|
|
|
|
Vous êtes ici : Tutoriels |
|
|
Tutoriels
Javascript / Les formulaires...
Principe général
Les éléments de formulaire sont des objets javascript .
Cette page présente l'accès par javascript aux objets du formulaire.
Supposons le formulaire suivant :
Accéder au formulaire
Le formulaire est un élément de l'objet document. Pour accéder au formulaire general, il faut écrire :
- 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 à 0), via le tableau elements ou directement par son nom
Accéder à un élément
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 :
- Il est préférable d'utiliser le nom des éléments, plutôt que les indices : les noms sont indépendants de l'organisation du formulaire.
- Les tableaux forms et elements peuvent sembler inutiles dans les exemples ci-dessus. Observez ce script pour vous convaincre du contraire :
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.
Manipuler les propriétés d'un élément
Une fois que l'élément est atteint, il est possible de manipuler ces propriétés.
Par exemple, pour placer dans la zone de texte le mot "NOUVEAU", il faut juste écrire :
Appeler une méthode sur un élément
Pour donner le focus au champ texte du haut de cette page, il faut appeler la méthode focus() sur cet élément.
Intégrer du javascript dans un événement
Un exemple d'événement
Un événement d'un élément de formulaire est déclenché par le navigateur en réaction à une action ou un changement 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')">
L'objet "this"
Il est fastidieux d'accéder aux éléments de formulaire par toute la chaîne document.forms.elements. Un objet JavaScript this permet de raccourcir ce chemin d'accès.
this représente l'objet javascript en cours.
Encore un exemple avec this
Reprenons encore une fois notre champ texte qui peut voir son contenu changer lors du clic sur un bouton :
Grâce à this.form, on peut accéder au formulaire de l'élément en cours. Le chemin pour accéder à zonedetexte est ensuite classique.
L'accès aux éléments de type INPUT
Les zones de texte
La principale action en javascript sur une zone de texte est de manipuler son contenu.
Imaginons un formulaire appelé monform qui possède un champ texte appelé monchamp. On accède au contenu du champ par :
document.elements["monform"].elements["monchamp"].value
Il faut bien penser à ajouter la propriété .value pour accéder au contenu.
Les boutons
Un bouton sert principalement à déclencher une action javascript.
Nous avons déjà vu comment dans le paragraphe Intégrer du javascript dans un événement comment détecter le click sur un bouton.
La propriété value contient le libellé du bouton. Comme pour une zone de texte, ce libellé est accessible.
L'accès aux éléments de type SELECT
|
|
|
|
|
|
|