Voir :
L'usager doit :
Tout formulaire HTML possède la syntaxe suivante :
<form name=[nom] action=[action] method=[méthode d'envoi] enctype=[méthode d'encodage]> éléments de formulaire </form>
Exemples :
<form action="test.php" method="post"> éléments de formulaire </form>
<form action="mailto:email@domaine.com" method="post"> éléments de formulaire </form>
get
, post
.
get | Le contenu du formulaire est juxtaposé à l'adresse URL; la méthode par défaut lorsque celle-ci n'est pas spécifiée; devrait n'être employée que dans le cas de formulaires très simples. |
post | Le contenu du formulaire est envoyé au serveur en tant que
bloc de données; plus efficace et permet le traitement d'une quantité plus importante de données. |
enctype
peut prendre plusieurs valeurs :
|
|
Le code HTML de tous les éléments de formulaires ci-dessus doit être inséré à l'intérieur des balises <form> ... </form>.
Les cases à cocher
Les cases à cocher présentent une liste d'items à l'utilisateur. Celui-ci peut alors cocher un ou plusieurs items afin d'indiquer ses choix.
Supposons que l'utilisateur doit indiquer ses chanteurs ou chanteuses préférés, on pourrait alors obtenir les cases suivantes :
Les cases à cocher sont appropriées dans ce cas-ci, puisque l'utilisateur peut avoir plus d'un chanteur préféré.
Le code HTML de l'exemple ci-dessus :
<form> <table> <tr> <td> <input type="checkbox" name="Chanteurs" value="Céline Dion"> Céline Dion<br> <input type="checkbox" name="Chanteurs" value="Mariah Carey"> Mariah Carey<br> </td> <td> <input type="checkbox" name="Chanteurs" value="Kevin Parent"> Kevin Parent<br> <input type="checkbox" name="Chanteurs" value="Michael Jackson"> Michael Jackson<br> </td> <td> <input type="checkbox" name="Chanteurs" value="Madonna"> Madonna<br> <input type="checkbox" name="Chanteurs" value="Withney Houston"> Withney Houston<br> </td> </tr> </table> </form>
<input type="checkbox" name="identificateur" value="valeur" [checked="checked"]> Texte
On remarque dans l'exemple que toutes les cases à cocher
portent le même nom.
checked
est optionnel; sa présence indique que la case est
cochée.
Les cases radio
Les cases radio présentent également une liste de choix à l'utilisateur. Cependant, il ne peut effectuer qu'un seul choix parmi la liste.
<input type="radio" name="identificateur" value="valeur" [checked="checked"]/> Texte
Supposons que l'on désire connaître dans quel groupe d'âge se trouve le visiteur.
Le code HTML :
<form action=""> <input type="radio" name="Groupedage" value="16-25 ans"/> 16-25 ans<br/> <input type="radio" name="Groupedage" value="26-35 ans" checked="checked"/> 26-35 ans<br/> <input type="radio" name="Groupedage" value="36-45 ans"/> 6-45 ans<br/> <input type="radio" name="Groupedage" value="46-65 ans"/> 46-65 ans<br/> <input type="radio" name="Groupedage" value="65 ans et plus"/> 65 ans et plus<br/> </form>
Dans le navigateur :
Remarquez que toutes les cases
radio portent le même identificateur. checked
est
optionnel et permet de spécifier la case radio cochée.
La boîte liste
La boîte liste constitue une autre façon de présenter une liste d'items. Celle-ci est utile dans le cas où le nombre d'éléments est plus important. On peut sélectionner plus d'un item à l'aide de la touche SHIFT ou CTRL.
Supposons une liste de livres parmi lesquels l'utilisateur peut choisir :
Le code HTML correspondant est le suivant :
<form> <select name="Livres" size="5" multiple="multiple"> <option value="Commerce électronique"> Commerce électronique <option value="Conception Web"> Conception Web <option value="La bible du Javascript"> La bible du Javascript <option value="Le livre du HTML"> Le livre du HTML <option value="Programmer en Java"> Programmer en Java <option value="SQL server"> SQL server </select> </form>
<select name="identificateur" [size="nombre"] [multiple="multiple"] [onblur="commandes Javascript"] [onchange="commandes Javascript"] [onfocus="commandes Javascript"] <option value="valeur" [selected="selected"]> Texte à afficher <option value="valeur" [selected="selected"]> Texte à afficher ... </select>
L'attribut size
indique le nombre de lignes qui
seront visibles dans la liste.
L'attribut multiple
,
s'il est présent, permet à l'utilisateur d'effectuer plus
d'une sélection.
Les attributs onblur
, onchange
et onfocus
constituent des événements Javascript.
Les entrées de la liste sont décrites par l'attribut
option
.
L'attribut value
sert à définir
la valeur qui sera
retournée au serveur HTTP.
L'attribut selected
, lorsque présent, indique que
l'item est sélectionné par défaut au chargement de la page.
La boîte liste déroulante
La boîte liste déroulante, tout comme la boîte liste, permet à l'utilisateur de faire un choix parmi une liste d'items. Cependant, un seul choix est possible pour ce type de liste. Les choix n'apparaissent à l'utilisateur que lorsque celui-ci clique sur la flèche juxtaposée à la boîte liste.
Plusieurs sites Web dans un de leurs formulaires demandent le pays d'origine du visiteur. Souvent, la boîte liste déroulant est utilisée pour recueillir la réponse. En effet, un individu n'est issu que d'un seul pays. Dans l'exemple ci-dessous, une liste abrégée de pays est présentée, puisque qu'il serait fastidieux de tous les énumérer.
<form action=""> <p> <select name="Pays"> <option value="Question">Quel est votre pays d'origine</option> <option value="Allemagne">Allemagne</option> <option value="Australie">Australie</option> <option value="Belgique">Belgique</option> <option value="Canada" selected="selected">Canada</option> <option value="États-Unis">États-Unis</option> <option value="France">France</option> <option value="Grande-Bretagne">Grande-Bretagne</option> <option value="Suisse">Suisse</option> </select> </p> </form>
Presque la même syntaxe que pour la boîte liste.
Les différences :
pas d'attributs size
ou multiple
,
un seul item peut être sélectionné par défaut à l'aide
de l'attribut selected
.
<select name="identificateur" [onblur="commandes Javascript"] [onchange="commandes Javascript"] [onfocus="commandes Javascript"] <option value="valeur" [selected="selected"]> Texte à afficher </option> <option value="valeur" [selected="selected"]> Texte à afficher </option> ... </select>
La boîte texte
La boîte texte est l'élément le plus commun. On s'en sert pour recueillir une entrée au clavier de la part de l'utilisateur, comme le nom de l'utilisateur par exemple.
Si l'on voulait recueillir les coordonnées des visiteurs, on pourrait retrouver le formulaire suivant :
Le code HTML :
<form> <p> Nom :<br> <input type="text" name="Nom" size="40" maxlength="40"><br> Prénom :<br> <input type="text" name="Prenom" size="40" maxlength="40"><br> Adresse :<br> <input type="text" name="Adresse" size="40" maxlength="40"><br> Ville :<br> <input type="text" name="Ville" size="20" maxlength="20"><br> Province :<br> <input type="text" name="Province" size="40" maxlength="40"><br> Pays :<br> <input type="text" name="Pays" size="40" maxlength="40"><br> Code postal :<br> <input type="text" name="Codepostal" size="10" maxlength="10"> </p> </form>
<input type="text" name="idenficateur" value="valeur" size="nombre" maxlength="nombre" [onblur="commandes Javascript"] [onchange="commandes Javascript"] [onfocus="commandes Javascript"] [onselect="commandes Javascript"]>L'attribut
value
correspond au contenu de la boîte texte. Celui-ci est envoyé
lors d'un clic du bouton soumettre. size
détermine le nombre de caractères
maximal visible à l'écran, tandis que maxlength
fixe le nombre maximal de
caractères permis.
La boîte mot de passe
La boîte mot de passe constitue une variante de la boîte texte. Elle sert principalement à recueillir un mot de passe de la part de l'utilisateur. Lorsque celui-ci entre du texte dans la case, les caractères tapés sont représentés par des astérisques (*).
Le code HTML correspondant :
<form> <p> Entrez votre mot de passe : <input type="password" name="motdepasse" size="20" maxlength="20"/> </p> </form>
<input type="password" name="idenficateur" value="valeur" size="nombre" maxlength="nombre"/>
Remarquez que la boîte mot de passe ne possède aucun événement Javascript pour éviter l'usage frauduleux.
La boîte texte multilignes
La boîte texte multilignes permet à l'utilisateur d'inscrire plus d'une ligne de texte. On peut également s'en servir pour obtenir des commentaires de la part des visiteurs.
<form> <p>Donnez-nous vos commentaires :<br> <textarea name="Commentaires" cols="30" rows="5" > </textarea> </p> </form>
<textarea name="identificateur" cols="nb colonnes" rows="nb rangées" [onblur = "commandes Javascript"] [onchange = "commandes Javascript"] [onfocus = "commandes Javascript"] [onselect = "commandes Javascript"] [texte à afficher par défaut] </textarea>
Les boutons soumettre et recommencer
Un formulaire n'est transmis au serveur que lorsque l'utilisateur clique sur le bouton soumettre à l'aide de la souris. La plupart du temps, il est accompagné du bouton recommencer, permettant ainsi à l'utilisateur d'effacer toutes les entrées du formulaire d'un seul coup.
<form> <p> ... éléments de formulaires ... <input type="submit" value="Soumettre"/> <input type="reset" value="Recommencer"/> </p> </form>
Le bouton soumettre est celui dont l'attribut
type est submit
, tandis que le
bouton recommencer est reset
.
<input type="submit"|"reset" value="texte du bouton" [onclick="commandes Javascript"]/>
Le bouton de formulaire
En plus des boutons soumettre et recommencer, on peut utiliser un bouton sans fonction prédéfinie. On se sert alors généralement de ce genre de bouton pour déclencher un événement Javascript.
Supposons que l'on désire afficher une boîte de dialogue suite au clic du bouton formulaire.
<form action=""> <p> <input type="button" value="Message" onclick="alert('vous avez cliqué sur le bouton message')"/> </p> </form>
<input type=button value="texte du bouton" [onclick="commandes Javascript"]/>
L'entrée cachée
Certaines informations, utiles seulement au récipiendaire du formulaire, peuvent être envoyées à même le formulaire. Par exemple, le CGI mailto utilise des entrées cachées afin d'assigner le sujet du message, l'adresse du serveur de courrier, le récipiendaire et l'adresse URL de remerciement.
<form action="/cgi-shl/mailto.exe" method="post"/> <input type="hidden" name="sendto" value="usager@domaine.com"/> <input type="hidden" name="server" value="mail.domaine.com"/> <input type="hidden" name="subject" value="sujet du message"/> <input type="hidden" name="resulturl" value="http://www.domaine.com/merci.html"/> ... autres éléments de formulaire ... </form>
<input type="hidden" name="identificateur" value="valeur"/>
L'image de formulaire
L'image de formulaire est similaire au bouton soumettre. En effet, un clic sur celle-ci provoquera l'envoi du formulaire au serveur. En plus, les coordonnées de l'endroit cliqué seront également expédiées avec le formulaire sous la forme "name.x=n&name.y=n".
<form action="mailto:usager@domaine.com" method="post"> ... autres éléments de formulaires ... <input type="image" src="image.gif" width="100" height="50" name="Image" alt="Image de formulaire"/> </form>
<input type="image" src="image" width="largeur" height="hauteur" name="nom image" alt="texte alternatif"/>
Notez que la syntaxe relative à l'image est la même que celle définissant une image normale en HTML (sans formulaire).