[英]Checkbox JavaScript Validation
我正在验证以下代码,以便在提交时,用户应至少选择一个复选框。 如何验证JavaScript中的以下复选框?
<input type="checkbox" name="dare" value="q1"/> I dare you to say the alphabet backwards <br>
<input type="checkbox" name="dare" value="q2"/> I dare you to go to a random person and sing twinkle twinkle little star <br>
<input type="checkbox" name="dare" value="q3"/> I dare you to act your true self for a day<br>
<input type="checkbox" name="dare" value="q4"/> I dare you to not shower for a week <br>
<input type="checkbox" name="dare" value="q5"/> I dare you to go vegetarian for 3 months<br>
<input type="checkbox" name="dare" value="q6"/> I dare you to swim with dolphins <br>
<input type="checkbox" name="dare" value="q7"/> I dare you to climb a mountain <br>
<input type="checkbox" name="dare" value="q8"/> I dare you to not sleep for a day<br>
<input type="checkbox" name="dare" value="q9"/> I dare you to walk backwards through the park <br>
<input type="checkbox" name="dare" value="q10"/> I dare you to jump 50 times. <br>
在这个论坛上共享的其他一些验证代码对我不起作用。
您为所有复选框输入分配了一个通用类,然后在提交事件时,遍历该类的所有复选框以查看是否选中了其中的任何一个。
我将验证此类内容的方法是将变量设置为false并循环检查所有选项以查看是否已选中它们。 如果找到一个被选中的变量,则可以将该变量设置为true并退出循环。
迭代输入,并为每个检查的实例+1递增一个变量,如果计数器为0,则抛出错误。
var check = 0;
Array.prototype.forEach(document.querySelectorAll("input[name='dare']"), function(x) {
if (x.checked) check++;
});
if (!check) //error
更快,但容易出现更多问题,但对于循环变化更易于理解:
var x = document.querySelectorAll("input[name='dare']");
for (var i=0; i<x.length; i++) {
if (x[i].checked) check++;
}
if($("input:checkbox[name='dare']:checked").length >0)
{
console.log("Atleast One checkbox selected");
}else {
console.log("nothing selected");
}
您可以在这里找到工作代码-http: //jsfiddle.net/spnfpkxz/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.