Les cases à cocher permettent généralement de faire un choix multiple parmi plusieurs options possibles.
La zone est faite avec l'élément input
dont l'attribut type a la valeur checkbox.
L'élément input
est un élement vide (ie sans balise de fermeture).
La zone doit avoir un attribut name dont la valeur doit être unique parmi toutes les zones
composant le formulaire.
Les cases à cocher font le plus souvent parmi d'un groupe de
réponses possibles à un choix. Elles sont prévues pour que
l'utilisateur puisse choisir plusieurs réponses
possibles parmi celles qui lui sont proposées.
On peut aussi utiliser les cases à cocher seules comme dans
l'exemple ci-dessous.
Comme vous le voyez en testant l'exemple, si une case n'est pas cochée, rien n'est envoyé au serveur. Cette particularité rend le traitement des cases à cocher sur le serveur un peu plus complexe que pour les autres zones de formulaire. Je vous conseille donc d'éviter l'utilisation des cases à cocher quand vous le pouvez.
Pour cocher une case par défaut, il suffit qu'elle ait l'attribut
checked
.
checked est un attribut booléen qui
n'a pas de valeur : sa présence ou son absence dans la balise
d'ouverture définit la valeur true (présence) ou false
(absence). Le piège est d'écrire :
<input type="checkbox" checked="false"...
Comme checked est présent, la valeur sera true
et le navigateur ne tiendra pas compte de l'égalité faite dans le
code HTML.
L'utilisation d'un élément label attaché à une case à cocher est particulièrement intéressante car la sélection/déselection de la case est facilitée par la surface plus grande du label.
| Attribut possible | Utilité |
checked |
Etat par défaut (coché ou non). Attribut booléen. |
dirname |
Direction du texte saisi. |
disabled |
Zone désactivée, non transmise au serveur. Aucune interaction n'est possible avec la zone (pas de focus, pas de copie, etc). Attribut booléen. |
form |
id du formulaire associé si la zone n'est pas
un élément form ou concerne un autre formulaire que
celui dans lequel elle est imbriquée. |
name |
Nom de la zone. Tous les boutons d'un même groupe DOIVENT avoir le même. |
readonly |
Zone en lecture seule, transmise au serveur. La zone peut avoir le focus et le contenu peut être copié. Attribut booléen. |
required |
Zone obligatoire. Attribut booléen. |
value |
Valeur initiale de la zone et valeur transmise au serveur après saisie. |
Complétez le code HTML pour obtenir le résultat ci-dessous.
Les images s'appellent du nom du personnage, tout en minuscules, et
les espaces éventuels remplacés par un _ (underscore). L'extension
du fichier est .png
(Personnages : Gandalf, Frodon, Gimli, Sauron, Saroumane, Gollum, Yoda, Luke Skywalker, Chewbacca, Palpatine, Dark vador, Comte Dooku.)
Quand on clique sur les images ou sur les noms des personnages, la case à cocher correspondante est sélectionnée ou déselectionnée.
Les cases à cocher impaires sont sélectionnées par défaut (Gandalf, Gimli, Saroumane, Yoda, Chewbacca, Dark vador).
Le formulaire utilise la méthode POST pour envoyer les
informations saisies à ajouter.php.
Les boutons s'appellent btnReset et btnSubmit.