Javascript code de validation pour s'assurer qu'au moins une case est cochée
Comment pourrais-je ajouter du code javascript de validation pour s'assurer qu'au moins un des éléments est-elle vérifiée?
Sélectionnez parmi les cours ci-dessous:
<ul id="class_prices">
<li>
<input onclick="update()" name="lbsm" id="lsbm" type="checkbox" value="lbsm">
<label>Law & Business Study Material ($59.00)</label>
</li>
<li>
<input onclick="update()" name="tsm" id="tsm" type="checkbox" value="tsm">
<label>Trade Study Material ($59.00)</label>
</li>
<li>
<input onclick="update()" name="lbepc" id="lbepc" type="checkbox" value="lbepc">
<label>Law & Business Exam Preperation Class ($50.00)</label>
</li>
<li>
<input onclick="update()" name="tepc" id="tepc" type="checkbox" value="tepc">
<label>Trade Exam Preperation Class ($50.00)</label>
</li>
</ul>
</td>
<td><h2>$<span id="coursetotal"></span></h2></td>
</tr>
Voici le code javascript que j'ai, et qui ne fonctionne pas.
<script type="text/javascript">
function valthisform() {
var chkd = document.form1.lsbm.checked || document.form1.tsm.checked|| document.form1.lbepc.checked|| document.form1.tepc.checked
if (chkd == true) { } else { alert ("please check a checkbox") }
}
</script>
J'apprécie vos commentaires.
- Votre code a été assez compliqué... et c'était juste quelques lignes! Utiliser la bonne indentation de sorte que c'est plus facile à lire. Ne jamais utiliser quelque chose comme
chkd == true
. Si vous avez vraiment besoin de tester si quelque chose est vrai, utiliserif( chkd )
. Dans votre cas, chkd est soitundefined
ou"checked"
.if( chkd == true )
sera de retour faux dans les deux cas. Utiliserif( chkd == undefined )
ouif( !chkd )
et supprimer le vide bloc de code tout à fait. - J'ai essayé et ça ne fonctionne pas. Ceci est la page que je suis en train de travailler sur. contractorsintelligence.com/secured_payment/...
- stackoverflow.com/questions/7960208/...
Vous devez vous connecter pour publier un commentaire.
Je viens de tester votre javascript et il semble fonctionner comme prévu. Il y a un problème avec le script lui-même, et c'est qu'il ne retourne pas une valeur.
LiveValidationForm a un gestionnaire de soumission jointe au formulaire de trop et que le gestionnaire peut interférer avec votre gestionnaire et/ou empêcher le formulaire de soumis.
Fait amusant: Vous avez
document.form1.lsbm.checked
correctement orthographié dans votre javascript, en tant qu'élément de votre document est correctement orthographié id delsbm
au lieu delbsm
trop.Obtenir toutes les cases à l'intérieur de l'UL, et si aucun d'entre eux sont contrôlés, de définir la
chkd
variable à true :VIOLON
.type.toLowerCase()
. Je n'ai jamais vu un cas où, même si l'attribut est en majuscules, la propriété n'est pas converti en minuscules. Alors encore une fois, je ne fais pas cette case souvent/jamais, et ne l'ai pas testé dans de nombreux/tous les navigateurstagName
, je me demandais juste spécifiquement sur.type
. No big deal, je me demandais 🙂Essayer ce code..
HTML
JavaScript: