HTML: Case à cocher par défaut la valeur
Quand je soumettre un formulaire HTML avec un contrôle de case à cocher qui n'a pas explicitement défini value
, Chrome envoie on
comme une valeur pour ce champ.
Est que la norme de comportement? Ou que puis-je attendre d'autres navigateurs?
- Oui, c'est la norme! La valeur cochée sera dans tous les navigateurs
- Avez-vous une référence?
- Vérifié pour elle, mais en vain. Ne pouvais pas trouver toutes. Juste pour dire de soi de l'expérience
Vous devez vous connecter pour publier un commentaire.
La spécification HTML 4.01 ne spécifie pas la valeur d'une case cochée. Il renvoie en disant qu'il est “sur”, mais ce n'est que de la prose et de ne pas dire ce que la valeur par défaut est. Mais il dit aussi (en vertu de la description de l'
entrée
de l'élément) que levalue
attribut est requis dans ce cas.Donc
<input type=checkbox name=foo>
a un comportement indéfini en ce qui concerne la valeur, mais dans la pratique, les navigateurs utilisentvalue=on
en tant que par défaut.on
" puis. Ce détail n'a pas été spécifié dans le HTML, DOM, dans le passé, comme l'IDL ne spécifiez pas cette affaire en détail. Dans la pratique, comme vous l'écrivez cette technique a toujours été le cas, mais n'était pas défini. stackoverflow.com/a/19094549/367456 - HTML Valide dans le passé normalement requis pour écrire cet attribut (par exemple, HTML 2.0), puisqu'HTML 5 ce n'est pas nécessaire plus longtemps.HTML Living Standard reflète ceci: La valeur est en mode "par défaut/on", ce qui signifie que la valeur est "
on
" si aucune valeur d'attribut est fourni. De 4.10.7.1.16 Case à cocher état (type=checkbox) - HTMLNiveau de vie (Sep 2013):
C'est tout à fait à l'identique également partie d'un autre spécification HTML, le W3C HTML 5 Août 2013 Recommandation Spécification a ceci: les
Pour la référence à mon commentaire précédent:
Navigateurs envoyer la valeur d'une case à cocher (dans le POST de données) que si elle est cochée. Une vérification pour voir si une valeur (tout valeur) pour une case à cocher est présent dans les données POST est tout ce dont vous avez besoin.
c'est à dire