Je génère une entrée HTML avec checked="false"
, Mais la case à cocher apparaît cochée.
J'ai fait ce qui suit dans la console javascript et je n'arrive pas à comprendre ce qui se passe. Le code HTML résultant après avoir utilisé .prop()
pour définir la valeur sur false est identique, sauf que la case à cocher n'est plus cochée sur le formulaire.
> $(':input[checked]').prop('checked');
< true
> $(':input[checked]')
< [
<input type="checkbox" class="caseVal" checked="false">
]
> $(':input[checked]').prop('checked',false);
< [
<input type="checkbox" class="caseVal" checked="false">
]
J'ai l'impression que je devrais simplement définir checked="checked"
OR n'incluant pas du tout la propriété vérifiée si sa valeur fausse est la meilleure pratique? Quoi qu'il en soit, j'aimerais savoir ce qui se passe dans le code ci-dessus.
Ne mettez pas checked="false"
Vous mettez uniquement vérifié = "vérifié" pour XHTML valide, sinon vous feriez
<input type="checkbox" checked>
Le navigateur ne se soucie pas de la valeur affectée à l'attribut vérifié, dès qu'il voit checked
dans la balise d'entrée de la case à cocher, il est marqué comme vérifié.