Je pense que selon les spécifications de W3, vous êtes censé faire
Et
selected="selected"
Mais, la plupart des navigateurs l’accepteront, il vous suffit d’écrire “CHECKED” et de ne pas lui donner de valeur. Donc, si vous incluez l’atsortingbut, y a-t-il des valeurs qui seraient (systématiquement) considérées comme fausses?
Aucune valeur ne désactive la case à cocher. Si l’atsortingbut checked
existe, la case à cocher sera cochée, quelle que soit la valeur que vous avez définie.
Les atsortingbuts checked
et selected
sont autorisés que pour deux valeurs, à savoir une copie du nom de l’atsortingbut et (à partir du code HTML 5) une chaîne vide. Donner toute autre valeur est une erreur.
Si vous ne voulez pas définir l’atsortingbut, l’atsortingbut entier doit être omis.
Notez qu’en HTML 4, vous pouvez omettre tout sauf la valeur. HTML 5 a changé cela pour omettre tout sauf le nom (ce qui ne fait aucune différence pratique).
Ainsi, l’ensemble complet (hormis les variations de cAsE) des représentations valides de l’atsortingbut est:
Les documents servis en tant que text / html (HTML ou XHTML) seront transmis via un parsingur de variables, et la présence d’un atsortingbut vérifié (avec n’importe quelle valeur) sera traitée comme “Cet élément doit être coché”. Ainsi, bien qu’invalide, checked="true"
, checked="yes"
, et checked="false"
déclenchera tous l’état vérifié.
Je n’ai pas eu envie de savoir quels mécanismes de récupération d’erreur sont en place pour le mode d’parsing XML si une valeur différente était atsortingbuée à l’atsortingbut, mais je m’attendrais à ce que l’inheritance HTML et / ou la récupération d’erreur simple le traitent de la même manière: si l’atsortingbut est là, l’élément est vérifié.
(Et tout ce qui précède s’applique également à la selected
comme à la checked
.)
Aucune valeur n’est considérée comme fausse , seulement l’absence de l’atsortingbut. Il existe cependant de nombreuses valeurs non valides, et certaines implémentations peuvent considérer certaines valeurs non valides comme fausses.
Spécification HTML5
http://www.w3.org/TR/html5/forms.html#attr-input-checked :
L’atsortingbut content désactivé est un atsortingbut booléen.
http://www.w3.org/TR/html5/infrastructure.html#boolean-atsortingbutes :
La présence d’un atsortingbut booléen sur un élément représente la valeur vraie et l’absence de l’atsortingbut représente la valeur fausse.
Si l’atsortingbut est présent, sa valeur doit être la chaîne vide ou une valeur qui est une correspondance ASCII insensible à la casse pour le nom canonique de l’atsortingbut, sans espace de début ou de fin.
Conclusion
Les éléments suivants sont valides, équivalents et vrais :
Les éléments suivants ne sont pas valides :
L’absence de l’atsortingbut est la seule syntaxe valide pour false :
Recommandation
Si vous voulez écrire du XHTML valide, utilisez checked="checked"
, puisque est invalide et que les autres alternatives sont moins lisibles. Sinon, utilisez simplement
car il est plus court.
En fait, la spécification HTML 4.01 indique que ces atsortingbuts ne nécessitent aucune valeur. Je n’ai pas personnellement rencontré de situation où la fourniture d’une valeur rendait ces contrôles non sélectionnés.
Voici les liens respectifs vers le document de spécifications pour sélectionné et vérifié .
Edit: Firebug rend la case à cocher cochée, quelles que soient les valeurs que je mets entre guillemets pour l’atsortingbut checked (en tapant simplement “checked” sans aucune valeur), et les outils de développement de IE 8 forcent checked = “checked”. Cependant, je ne suis pas certain qu’il existe des outils similaires pour les autres navigateurs susceptibles de modifier l’état de rendu d’une case à cocher.
La chaîne vide est fausse en règle générale.
Apparemment, la chaîne vide n’est pas respectée comme vide dans tous les navigateurs et la présence de l’atsortingbut vérifié est considérée comme signifiée. Donc, l’atsortingbut entier doit être présent ou omis.