Un problème avec un appareil électroménager ?
Vous cherchez un renseignement ?
Trouvez une réponse sur www.tout-electromenager.fr
Vous êtes ici : Matières (informatique) > Thèmes (Créer un site web dynamique) > Cours (Les formulaires XHTML)
Cette création est mise à disposition sous un
contrat Creative Commons
.
Auteur : E.RAVRAT
Dernière mise à jour : mardi 27 Novembre 2007 à 23:20:44
Un formulaire est un espace de saisie dans l'interface utilisateur, pouvant comporter plusieurs zones, ou « champs » : on peut y saisir du texte, cocher des cases, effectuer un choix dans une liste de termes prédéfinis, appuyer sur des boutons, etc. Ces zones de saisie assurent l'interactivité entre le client (par exemple, le navigateur de l'internaute) et le serveur (par exemple, la machine qui héberge les pages web sur internet).
Les boutons des formulaires permettent de lancer des actions
prédéfinies par l'auteur des pages. Ces actions sont des scripts
(javascript, PHP, Perl, CGI...) qui envoient les données saisies au
serveur. Ce dernier les traite et renvoie une réponse à l'utilisateur
via la page web.
Exemple de formulaire permettant de créer un compte sur yahoo (cliquez sur l'image) :
Remarque : les exemples de code présentés sont toujours à placer entre les balises <body></body> puisqu’il s’agit du contenu qui doit apparaître à l’écran.
Pour rappel, voici le code d’une page valide XHTML 1.0 :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Exemples de formulaire</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
</body>
</html>Une zone de type « text » est utile pour permettre la saisie d’un mot ou de quelques mots au plus.
A l’écran :
Commentaires :
Il est possible d’attribuer une valeur par
défaut dans la zone de texte du formulaire à l’aide de l’attribut «
value ».
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
<label>Votre prénom</label>
<input type="text" name="prenom" value="ici votre prénom"/>
</p>
</form>Vous pouvez également modifier la longueur de la zone de saisie à l’aide de l’attribut size :
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
<label>Votre prénom</label>
<input type="text" name="prenom" value="ici votre prénom" size="100px"/>
</p>
</form>
La longueur est ici fixée à 100px. Elle aurait pu être fixée
par CSS (dans un fichier lié) de la façon suivante :
input {
width : 100px;
}Un dernier attribut intéressant est l’attribut « maxlength » qui fixe une limite au nombre de caractères qu’il est possible de saisir dans la zone.
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
<label>Votre prénom</label>
<input name="prenom" value="ici votre prénom" size="100" maxlength="5" Type="text" />
</p>
</form>
Cette zone est identique à la zone de type « text » mis à part que les
caractères saisis par l’utilisateur sont masqués.
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
<label>Votre login</label>
<input type="password" name="mot_de_passe" />
</p>
</form>Remarque : Les attributs abordés pour la zone de type « text »
s’appliquent également à la zone de type « password ».
Une zone de formulaire de type « textarea » est utile pour les longues saisies dans la même zone (ex : une question, un message, un résumé, ou même un texte de plusieurs centaines de lignes !)
Précédemment, nous avons vu qu’il était possible d’affecter
une valeur par défaut à une zone de type « text » ou de type « password
». Cela est également possible pour les zones de type « textarea ».
Aucun attribut n’est nécessaire. Il suffit de préciser la valeur pas
défaut entre les balises
<textarea></textarea> :
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
<label>Rédiger votre message</label> <br />
<textarea name="message" rows="5" cols="40">
Saisissez dans cette zone votre message.
</textarea>
</p>
</form>Ce type de zone de formulaire permet de proposer une liste de choix à l’utilisateur du formulaire.
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
<label>
Quelle est votre loisir préféré parmi ceux qui vous sont proposés ?
</label> <br />
<select name="sondage">
<option value="1">La lecture</option>
<option value="2">La télévision</option>
<option value="3">Le sport</option>
<option value="4">L'informatique</option>
</select>
</p>
</form>Commentaires :
Il peut parfois être intéressant de faire un choix par défaut
parmi les éléments de choix proposés par la liste. Par exemple, je
souhaite que l’informatique soit le loisir sélectionné par défaut.
Lorsque l’on déroule la liste, vous pouvez constatez que c’est effectivement le loisir « L’informatique » qui est sélectionné par défaut :
Commentaire :
Ce type de zone permet à l’utilisateur de faire un seul et unique choix parmi plusieurs. Dès lors qu’il coche un autre bouton radio, le bouton précédemment sélectionné est automatiquement désélectionné.
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
Quel est votre loisir préféré parmi ceux qui vous sont proposés ? <br />
<label>La lecture</label>
<input type="radio" name="enquete" value="1" /> <br />
<label>La télévision</label>
<input type="radio" name="enquete" value="2" /> <br />
<label>Le sport</label>
<input type="radio" name="enquete" value="3" /> <br />
<label>L'informatique</label>
<input type="radio" name="enquete" value="4" />
</p>
</form>Commentaires :
Exemple avec le code suivant comportant volontairement l’erreur mentionnée :
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
Quel est votre loisir préféré parmi ceux qui vous sont proposés ? <br />
<label>La lecture</label>
<input type="radio" name="enquete" value="1" /> <br />
<label>La télévision</label>
<input type="radio" name="enquete" value="2" /> <br />
<label>Le sport</label>
<input type="radio" name="sondage" value="3" /> <br />
<label>L'informatique</label>
<input type="radio" name="sondage" value="4" />
</p>
</form>Puisque deux noms différents sont indiqués, le navigateur considère qu’il s’agit de deux listes de choix différents. Il permet par conséquent de cocher deux cases.
Un choix par défaut peut être précisé à l’aide de l’attribut «
checked » qui signifie « coché ». La valeur qui lui est associée doit
être la valeur « checked » afin de rester valide XHTML 1.0.
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
Quel est votre loisir préféré parmi ceux qui vous sont proposés ? <br />
<label>La lecture</label>
<input type="radio" name="enquete" value="1" /> <br />
<label>La télévision</label>
<input type="radio" name="enquete" value="2" /> <br />
<label>Le sport</label>
<input type="radio" name="enquete" value="3" /> <br />
<label>L'informatique</label>
<input type="radio" name="enquete" value="4" checked="checked"/>
</p>
</form>Cela donne :
Ce type de zone permet d’afficher des cases à cocher.
Avec ce type de zone de formulaire, il est possible de faire plusieurs choix (essayez).
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
Quels sont vos deux loisirs préférés parmi ceux qui vous sont proposés ?
<br />
<label>La lecture</label>
<input type="checkbox" name="choix[]" value="1" /> <br />
<label>La télévision</label>
<input type="checkbox" name="choix[]" value="2" /> <br />
<label>Le sport</label>
<input type="checkbox" name="choix[]" value="3" /> <br />
<label>L'informatique</label>
<input type="checkbox" name="choix[]" value="4" />
</p>
</form>Commentaires :
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
Quels sont vos deux loisirs préférés parmi ceux qui vous sont proposés ?
<br />
<label>La lecture</label>
<input type="checkbox" name="choix[]" value="1" checked="checked" /> <br />
<label>La télévision</label>
<input type="checkbox" name="choix[]" value="2" /> <br />
<label>Le sport</label>
<input type="checkbox" name="choix[]" value="3" /> <br />
<label>L'informatique</label>
<input type="checkbox" name="choix[]" value="4" checked="checked" />
</p>
</form>Le type « reset » permet de rendre vierge un formulaire
complété d’un
simple clic sur un bouton.
Lors du clic sur le bouton, les données saisies dans le formulaire sont effacées:
Commentaires :
Lorsque l’utilisateur à terminer de compléter le formulaire, il clique sur un bouton qui envoie les informations saisies à un script (par exemple php) qui va s’occuper d’enregistrer les données saisies.
Exemple de formulaire à valider :
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">
<p>
<label>Votre prénom</label>
<input type="text" name="prenom" />
<label>Votre Nom</label>
<input type="text" name="nom" />
</p>
<p>
Quel est votre loisir préféré parmi ceux qui vous sont proposés ? <br />
<label>La lecture</label>
<input type="radio" name="enquete" value="1" /> <br />
<label>La télévision</label>
<input type="radio" name="enquete" value="2" /> <br />
<label>Le sport</label>
<input type="radio" name="enquete" value="3" /> <br />
<label>L'informatique</label>
<input type="radio" name="enquete" value="4" checked="checked" />
</p>
<p>
<label>
Rédiger votre message apportant des précisions sur le loisir sélectionné
</label> <br />
<textarea name="message" rows="5" cols="40">votre message ici</textarea>
</p>
<p>
<input type="submit" name="validation" value="valider le formulaire" />
<input type="reset" name="effacer" value="effacer la saisie" />
</p>
</form>Commentaires :
<form action="page_qui_reçoit_les_donnees_du_formulaire.php" method="post">La récupération des données envoyées est l’objet du prochain chapitre.
© 2007 - Conception et développement : E. Ravrat - A propos du site - Visites : actuelles (3) Du jour (62) Total (52497) - Dernière MAJ : 23-04-2010