464 votes

Ce qui ' s la valeur correcte pour un attribut checked d’une case à cocher HTML ?

Nous savons tous comment la forme d'une case à cocher d'entrée dans le HTML:

<input name="checkbox_name" id="checkbox_id" type="checkbox">

Ce que je ne sais pas, quel est la technique correcte de la valeur pour un contrôle de case à cocher? J'ai vu tous ces travaux:

<input name="checkbox_name" id="checkbox_id" type="checkbox" checked>
<input name="checkbox_name" id="checkbox_id" type="checkbox" checked="on">
<input name="checkbox_name" id="checkbox_id" type="checkbox" checked="yes">
<input name="checkbox_name" id="checkbox_id" type="checkbox" checked="checked">
<input name="checkbox_name" id="checkbox_id" type="checkbox" checked="true">

La réponse, c'est qu'il n'a pas d'importance? Je ne vois aucune preuve pour la réponse comme correcte ici de la spec lui-même:

Des cases à cocher (et des boutons radio) sont des interrupteurs qui peuvent être basculés par l'utilisateur. Un interrupteur est sur "on" lorsque l'élément de commande est cochée attribut est défini. Lorsqu'un formulaire est envoyé, seulement "sur la case à cocher" les contrôles peuvent devenir un succès. Plusieurs cases à cocher dans un formulaire peut partager le même nom de contrôle. Ainsi, par exemple, des cases à cocher autoriser les utilisateurs à sélectionner plusieurs valeurs pour une même propriété. L'élément d'ENTRÉE est utilisé pour créer un contrôle de case à cocher.

Que serait un spec écrivain dire, c'est la bonne réponse? Veuillez fournir des éléments de preuve réponses.

474voto

Hannele Points 2906

Strictement parlant, il faut mettre quelque chose qui a du sens - selon la spécification ici, checked="checked". Pour le HTML, vous pouvez également utiliser le vide de la syntaxe d'attribut, checked="", ou même, simplement, checked (pour les plus strictes en XHTML, c'est pas pris en charge).

Effectivement, cependant, la plupart des navigateurs de support juste au sujet de n'importe quelle valeur entre guillemets. Tous les éléments suivants seront vérifiés:

<input name="name" id="id" type="checkbox" checked>
<input name="name" id="id" type="checkbox" checked="">
<input name="name" id="id" type="checkbox" checked="yes">
<input name="name" id="id" type="checkbox" checked="blue">
<input name="name" id="id" type="checkbox" checked="false">

Et ne sera pas cochée:

<input name="name" id="id" type="checkbox">

Voir également cette même question sur disabled="disabled".

66voto

Ciro Santilli Points 3341

HTML5 spec:

http://www.w3.org/TR/html5/forms.html#attr-input-checked :

Le contenu désactivé attribut est un attribut booléen.

http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :

La présence d'un attribut booléen sur un élément représente la valeur vrai, et l'absence de l'attribut représente la valeur false.

Si l'attribut est présent, sa valeur doit être la chaîne vide ou une valeur ASCII de la casse de match pour l'attribut canonique du nom sans espaces avant ni après.

Conclusion:

Les éléments suivants sont valides, l'équivalent, et vrai:

<input type="checkbox" checked />
<input type="checkbox" checked="" />
<input type="checkbox" checked="checked" />
<input type="checkbox" checked="ChEcKeD" />

Les éléments suivants sont non valides:

<input type="checkbox" checked="0" />
<input type="checkbox" checked="1" />
<input type="checkbox" checked="false" />
<input type="checkbox" checked="true" />

L'absence de l'attribut est la seule syntaxe valide pour de faux:

<input />

Recommandation

Si vous vous souciez de l'écriture XHTML valide, utilisez checked="checked", depuis <input checked> n'est pas valide et d'autres solutions sont de moins en moins lisible. Sinon, il suffit d'utiliser <input checked> comme il est plus court.

38voto

Niet the Dark Absol Points 154811
<pre><code></code><p>Ceux qui sont tout aussi valables. Et en JavaScript :</p><pre><code></code></pre></pre>

7voto

Johnny Craig Points 2820

vous voulez ce que je pense :``

6voto

wengeezhang Points 1
<ol> <li>vérifié</li> <li>cochée = » »</li> <li><p>cochée = « vérifié »</p> <p>sont équivalentes ;</p></li> </ol> <hr> <p>selon spécifications <a href="http://www.w3.org/TR/html-markup/input.checkbox.html" rel="nofollow">case</a> '---ⓘ vérifié = « vérifié » ou « » (chaîne vide) ou vide indique que l’élément représente un contrôle sélectionné.---'</p>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X