J'essaie de créer une fonction JS qui assurera que toutes les cases à cocher de mon formulaire sont sélectionnées.
J'ai essayé ce qui suit, mais cela ne fonctionne pas. Il y a d'autres cases à cocher dans une autre sur cette page, donc je me demande si cela est conflictuel? Je pensais utiliser $ (ceci) résoudre ce problème ... P>
$('#my-form').on('submit', function(e) {
e.preventDefault();
var checked = false;
$('#input[type="checkbox"]').each(function() {
if ($(this).is(":checked")) {
checked = true;
}
});
if (checked == false) {
console.log('Something wasnt checked');
}
});
3 Réponses :
Votre code vérifie si l'une des cases à cocher est cochée.
changer le code sur p> et définir la variable sur false, si la case à cocher de la boucle n'est pas cochée. p> p>
"#" est utilisé pour interroger des éléments par leur identifiant, alors $ ("# entrée") ciblerait une seule entrée qui a ID = "entrée". Vous devriez plutôt faire cela: ou, si vous ne voulez pas toutes les cases à cocher de la page, vous devez utiliser un autre sélecteur, etc. Ajouter une classe "Quelques classe" à tous Les entrées que vous souhaitez vérifier et utiliser: p> De plus, vous devrez rétablir votre logique, Cause actuellement que vous définirez actuellement en true si l'une des cases à cocher est cochée. Donc, utilisez initialement l'option cochée = true, puis dans l'instruction si définie sur False si ce n'est pas coché. P> p>
Merci, j'ai ajouté les classes et ai mis à jour le login, voici mon exemple de travail pour quiconque suivi de ce jsfiddle.net/qlur7zxf / 4
Vérifiez simplement p> : cocher code> Cochez la case Longueur CODE> sur la base de cette variable comme ci-dessous. <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input checked="checked" type="checkbox">
<input checked="checked" type="checkbox">