
HTML vous offre une ribambelle d'éléments d'options à utiliser dans votre formulaire. Ce sont des éléments qui demandent au visiteur de faire un choix parmi une liste de possibilités. Nous allons passer en revue :
- les cases à cocher ;
- les zones d'options ;
- les listes déroulantes.
Les cases à cocher
Créer une case à cocher ? Rien de plus simple ! Nous allons réutiliser la balise
<input />, en spécifiant cette fois le type checkbox :
type="checkbox" name="choix"
Rajoutez un
<label> bien placé, et le tour est joué !
method="post" action="traitement.php"
Cochez les aliments que vous aimez manger :
type="checkbox" name="frites" id="frites" for="frites"Frites
type="checkbox" name="steak" id="steak" for="steak"Steak haché
type="checkbox" name="epinards" id="epinards" for="epinards"Epinards
type="checkbox" name="huitres" id="huitres" for="huitres"Huitres
N'oubliez pas de donner un nom différent à chaque case à cocher, cela vous permettra d'identifier plus tard lesquelles ont été cochées par le visiteur.
Enfin, sachez que vous pouvez faire en sorte qu'une case soit cochée par défaut avec l'attribut
checked:
type="checkbox" name="choix" checked
Les zones d'options
Les zones d'options vous permettent de faire un choix (et un seul) parmi une liste de possibilités. Elles ressemblent un peu aux cases à cocher mais il y a une petite difficulté supplémentaire : elles doivent être organisées en groupes. Les options d'un même groupe possèdent le même nom (
name), mais chaque option doit avoir une valeur (value) différente.
La balise à utiliser est toujours un
<input />, avec cette fois la valeur radio pour l'attribut type.
Les choses seront plus claires sur l'exemple ci-dessous :
method="post" action="traitement.php"
Veuillez indiquer la tranche d'âge dans laquelle vous vous situez :
type="radio" name="age" value="moins15" id="moins15" for="moins15"Moins de 15 ans
type="radio" name="age" value="medium15-25" id="medium15-25" for="medium15-25"15-25 ans
type="radio" name="age" value="medium25-40" id="medium25-40" for="medium25-40"25-40 ans
type="radio" name="age" value="plus40" id="plus40" for="plus40"Encore plus vieux que ça ?!
Ce qui nous donne la figure suivante.
Pourquoi avoir mis le même nom pour chaque option ? Tout simplement pour que le navigateur sache de quel « groupe » le bouton fait partie.
Essayez d'enlever les attributs
Essayez d'enlever les attributs
name, vous verrez qu'il devient possible de sélectionner tous les éléments d'options. Or, ce n'est pas ce que l'on veut, c'est pour cela qu'on les « lie » entre eux en leur donnant un nom identique.
Si vous avez deux zones d'options différentes, il faut donner un
name unique à chaque groupe, comme ceci :
method="post" action="traitement.php"
Veuillez indiquer la tranche d'âge dans laquelle vous vous situez :
type="radio" name="age" value="moins15" id="moins15" for="moins15"Moins de 15 ans
type="radio" name="age" value="medium15-25" id="medium15-25" for="medium15-25"15-25 ans
type="radio" name="age" value="medium25-40" id="medium25-40" for="medium25-40"25-40 ans
type="radio" name="age" value="plus40" id="plus40" for="plus40"Encore plus vieux que ça ?!
Sur quel continent habitez-vous ?
type="radio" name="continent" value="europe" id="europe" for="europe"Europe
type="radio" name="continent" value="afrique" id="afrique" for="afrique"Afrique
type="radio" name="continent" value="asie" id="asie" for="asie"Asie
type="radio" name="continent" value="amerique" id="amerique" for="amerique"Amérique
type="radio" name="continent" value="australie" id="australie" for="australie"Australie
Les listes déroulantes
Les listes déroulantes sont un autre moyen élégant de faire un choix parmi plusieurs possibilités. Le fonctionnement est un peu différent. On va utiliser la balise
<select> </select> qui indique le début et la fin de la liste déroulante. On ajoute l'attribut name à la balise pour donner un nom à la liste.
Puis, à l'intérieur du
<select> </select>, nous allons placer plusieurs balises <option> </option> (une par choix possible). On ajoute à chacune d'elles un attribut value pour pouvoir identifier ce que le visiteur a choisi.
Voici un exemple d'utilisation :
method="post" action="traitement.php"
for="pays"Dans quel pays habitez-vous ?
name="pays" id="pays"
value="france"France
value="espagne"Espagne
value="italie"Italie
value="royaume-uni"Royaume-Uni
value="canada"Canada
value="etats-unis"États-Unis
value="chine"Chine
value="japon"Japon
Le résultat obtenu est représenté à la figure suivante.
Si vous voulez qu'une option soit sélectionnée par défaut, utilisez cette fois l'attribut
selected :
value="canada" selectedCanada
Vous pouvez aussi grouper vos options avec la balise
<optgroup> </optgroup>. Dans notre exemple, pourquoi ne pas séparer les pays en fonction de leur continent ?
method="post" action="traitement.php"
for="pays"Dans quel pays habitez-vous ?
name="pays" id="pays"
label="Europe"
value="france"France
value="espagne"Espagne
value="italie"Italie
value="royaume-uni"Royaume-Uni
label="Amérique"
value="canada"Canada
value="etats-unis"Etats-Unis
label="Asie"
value="chine"Chine
value="japon"Japon