checked="checked" ne fonctionne pas sous chrome
<input type="checkbox" name="Type[]" value="Red" checked="checked" /><span class="space-right">Red</span>
Définit correctement la case à cocher à cocher dans firefox et safari mais pas chrome. Impossible de trouver des infos à ce sujet en ligne.
Quelqu'un sait comment résoudre ce problème?
Ont aussi essayé le nu checked
ainsi que checked="true"
Je ne cherche pas de solution js, merci.
Edit: la réponse de taco ci-dessous décrit le problème. Lorsque vous utilisez des formulaires et des éléments d'entrée, les éléments doivent être correctement imbriqués dans des balises <td></td>
ou le checked="checked"
n'a aucun effet. Voici un exemple d'un jsfiddle qui prouve que cela est vrai sur chrome 29.0.1547.57: http://jsfiddle.net/LnL7b/
7 réponses
J'ai pu répliquer ce problème sur Google Chrome version 28.0.1500.95.
<table>
<tr>
<td>test</td>
<input type="radio" name="foo" value="bar" checked="checked">
</tr>
</table>
J'ai cassé la table en imbriquant incorrectement un bouton radio. Cela provoque en quelque sorte Google Chrome pour ne pas marquer la radio d'entrée comme cochée.
Checked = "checked" fonctionne bien dans Chrome. Assurez-vous que vous n'avez pas d'autres problèmes. Tout HTML non valide. Aucun élément en ligne contenant des éléments de niveau bloc?
Essayez avec la balise DIV
<div><input type="checkbox" name="ckkhuyenmai" id="ckkhuyenmai" checked>KHUYENMAI</div>
Ça ira.
La réponse de@Abhay a fonctionné pour moi, Je ne sais pas pourquoi les gens le marquent négativement. J'avais 2 groupes de radio partageant le même nom comme ci-dessous,
<input type="radio" name="gender" value="male" checked> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other
Puis encore au bas de la page,
<input type="radio" name="gender" value="male" checked> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other
Donc, ce qui se passait était l'ambiguïté du navigateur et il ne sélectionnait que le bas et non le haut.
J'espère que cela aidera quelqu'un.
Profitez ;)
Je sais que vous avez dit que vous ne cherchiez pas à l'utiliser mais jquery est une option:
<!DOCTYPE html>
<html>
<head>
<style>
div { color:red; }
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<form>
<p>
<input type="checkbox" name="newsletter" value="Hourly" checked="checked">
<input type="checkbox" name="newsletter" value="Daily">
<input type="checkbox" name="newsletter" value="Weekly">
<input type="checkbox" name="newsletter" value="Monthly" checked>
<input type="checkbox" name="newsletter" value="Yearly">
</p>
</form>
<div></div>
<script>
var countChecked = function() {
var n = $( "input:checked" ).length;
$( "div" ).text( n + (n === 1 ? " is" : " are") + " checked!" );
};
countChecked();
$( "input[type=checkbox]" ).on( "click", countChecked );
</script>
</body>
</html>
J'espère que cela aide quelque chose.
Checked = "checked" fonctionne bien dans Chrome. Assurez - vous qu'il n'y a pas de multiples du même nom. Vérifiez également les cachés.
Si vous avez html comme ceci:
<input type="checkbox" name="email">
<input type="checkbox" name="email">
<input type="checkbox" name="email" checked>
Alors personne ne sera vérifié, en raison de conflits de nom.