Création et utilisation d'un formulaire
HTML 4 et JavaScript permettent de réaliser une application Web de base avec les composants de formulaires.
On crée un formulaire avec la balise form
Cela se faire en insérant les balises <form> et </form>
dans la section <body> de la page HTML. Mais les éditeurs de
pages ont une commande pour insérer un formulaire automatiquement.
On place ensuite les objets de formulaire à l'intérieur de la balise form.
La balise form a des attributs pour l'accès dynamique dans la page par le DOM et pour l'envoi des données.
On accède aux composants de formulaire par le DOM
Pour accéder aux éléments du formulaire en JavaScript
on peut utiliser les méthodes du DOM ou chainer le nom (ou l'identifieur)
des éléments et sous-éléments à partir
de l'objet racine qui est document.
Par exemple, un formulaire à pour nom monform, il contient
le bouton monbouton, et ce bouton à un libellé assigné
à l'attribut value, on peut le connaître avec la chaîne:
document.monform.monbouton.value
ou l'assigner dynamiquement selon la même voie:
document.monform.monbouton.value="valeur"
Il est possible comme on le verra dans l'exemple de bouton ci-dessous, si c'est le composant graphique lui-même qui indique au code JavaScript le nom du composant à traiter, d'utiliser le mot-clé this, (en français ceci), donc l'objet dont l'attribut contient la référence à lui-même.
Alternativement si on a donné un identifieur à un élément, on peut y accéder par l'attribut ID:
var val = document.getElementById("xxx").value;
Exemple simple du bouton
Les boutons sont de plusieurs types, lesquels sont spécifiés
par l'attribut type:
button, qui correspond au composant graphique,
submit, qui est associé au formulaire et qui déclenche
le chargement du fichier assigné à l'attribut action.
image: le bouton est une image chargée dans un fichier.
Les attributs sont donc type, id, name et value pour un texte ou src pour
une image.
L'attribut value contient le libellé qui doit être affiché
sur le bouton.
Pour associer une action à un bouton simple, de type "button",
on utilise l'évènement onClick auquel est assignée
une fonction JavaScript.
Exemple, à l'intérieur du formulaire:
<button name="Mon-Bouton" value="Mon Bouton" onClick="click(this);" />
et dans la section HEAD, le code JavaScript:
<script language="JavaScript">
function clic(element)
{
alert("Cliqué sur " + element.name);
}
</script>
Si l'on attribue un id au bouton, on peut accéder directement au bouton grâce à cet id et à une fonction du DOM:
<button id="monid" name="Mon-bouton" onClick="clic();" />
et dans le code JavaScript:
var id = document.getElementById("monid");
alert("Cliqué sur " + id.value);
Code complet:
<form method="GET" action="">
<input type="button" name="Mon bouton" value="Cliquez" onClick="clic(this);">
</form>
function clic(element)
{
alert("Cliqué sur " + element.value);
}
Exemple avec une image
On peut utiliser une image comme bouton. Le code JavaScript est inchangé, seuls changent le type du bouton, et l'attribut value est remplacé par l'attribut src pour désigner le fichier de l'image à utiliser:
<input type="image" nom="Sauvegarde" src="save.gif" onClick="click(this);" />
Code:
<form method="post" action="">
<input type="image" name="Sauvegarde" onClick="clic(this);" src="save.gif"/>
</form>
function clic(element)
{
alert("cliqué sur " + element.value);
}
Exemple avec OnSubmit
Nous avons parlé de l'attribut onSubmit à propos du formulaire.
Nous allons en donner un exemple d'utilisation.
Le code du formulaire:
<form name="Monform" action="hello" onSubmit="return submitcheck(this);" />
Le mot réservé return indique que l'on doit exécuter conditionnellement
l'action selon la valeur vrai ou faux qui est retournée par la fonction.
Le code JavaScript simplifié (dans un exemple réel on retournerait
une valeur différente selon un traitement quelconque):
function submitcheck(element)
{
alert("L'action à exécuter est " + element.action);
return false;
}
Code complet:
<form method="post" onSubmit="return submitcheck(this);" >
<input type="submit" name="Mon bouton" value="Cliquez" onClick="clic(this);">
</form>
function clic(element)
{
alert("Cliqué sur " + element.name);
}
function submitcheck(element)
{
alert("L'action a exécuter est " + element.action);
return false;
}
Voir aussi
- Passer des paramètres à une page Web. Comment récupérer les données de formulaire dans une autre page.
Récupérer une valeur
jamy
webmaster
<toolbar>
<button id="b" onselect="alert(event.trigger.value)">
</button>
</toolbar>
Sinon on utiliserait plutôt oncommand qui est plus général ou onclick qui convient mieux aux boutons.