
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" selected Canada
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