使用Javascript循环复选框

我尝试使用我在这里和其他地方找到的javascript示例。 问题是我在服务器上使用Table控件,因此我使用的javascript无法识别服务器端的复选框。 我一遍又一遍地收到同样的错误信息。 我有20行,每行有2个列,一个用于复选框,另一个用于用户必须通过选中框才能提交validation的语句。 用户必须对每个盒子进行物理检查。 如果没有选中任何复选框,那么我希望看到一条弹出消息,说他们必须检查所有框,否则我正在重定向到另一个页面,当然所有这些都在按钮点击事件上。 这一切都在Visual Studio 2010上,使用C#,后端是Sql-server。

这里是我正在使用的JS样本。

 function checkCheckBoxes() { if (document.frmTest. CheckBox1.checked == false && document.frmTest. CheckBox2.checked == false && document.frmTest. CheckBox3.checked == false && document.frmTest. CheckBox4.checked == false && document.frmTest. CheckBox19.checked == false && document.frmTest. CheckBox5.checked == false && document.frmTest. CheckBox6.checked == false && document.frmTest. CheckBox7.checked == false && document.frmTest. CheckBox8.checked == false && document.frmTest. CheckBox9.checked == false && document.frmTest. CheckBox10.checked == false && document.frmTest. CheckBox11.checked == false && document.frmTest. CheckBox12.checked == false && document.frmTest. CheckBox13.checked == false && document.frmTest. CheckBox14.checked == false && document.frmTest. CheckBox15.checked == false && document.frmTest. CheckBox16.checked == false && document.frmTest. CheckBox17.checked == false && document.frmTest. CheckBox18.checked == false && document.frmTest. CheckBox20.checked == false &&) { alert ('You must check all the checkboxes!'); return false; } else { return true; } }  then, 

但我意识到Checkbox不能是服务器控件,而是jscript控件。

我在编码方面非常环保,请耐心等待。 我非常感谢能得到的任何帮助。 谢谢。

你需要这样的东西

 var pass = true; for (var i = 0; i < form.elements.length; i++ ) { if (form.elements[i].type == 'checkbox') { if (form.elements[i].checked == false) { pass = false; } } } if(!pass) { alert ('You must check all the checkboxes!'); } return pass; 

希望这可以帮助。

您可以使用C#ClientID属性获取复选框的HTML ID。 将该ID插入您的Javascript,然后您就可以选择相关的复选框并随意执行任何操作。

使用querySelectorAll检查是否有任何未选中的复选框。 如果有,请抛出错误消息,否则回发。

 function checkCheckboxes(){ if(document.querySelectorAll('input[type="checkbox"]:not(:checked)').length > 0){ alert("all checkboxes must be checked"); return false; } else{ return true; } } 

注意:这只适用于现代浏览器Firefox 3.1 +,IE8 +(仅限IE8标准模式)和Safari 3.1+