通过使用JavaScript循环复选框 [英] Looping through Checkboxes using Javascript
问题描述
我试图用我发现这里的JavaScript样本等地。问题是,我使用Table控件在服务器上的工作,所以我不使用的JavaScript不承认这是服务器端,以及对应的复选框。我不停地一遍又一遍地得到同样的错误消息。我得到了20行,每2 colums,一个复选框,一个用于用户有通过检查,他们可以提交前框验证声明。用户必须物理地检查每个框。如果未选中任何复选框,然后我想看到一个弹出的消息说,他们必须检查所有箱子,否则我做一个重定向到另一个页面,这当然对所有按钮点击事件。这一切都在Visual Studio 2010中,使用C#,后端是SQL服务器。
I tried using javascript samples that I found here and other places. The problem is that I am using a Table control working at the server, so the javascript I was using does not recognizes the checkboxes which are server side as well. I kept getting the same error message over and over. I got 20 rows with 2 colums each, one for the checkbox and one for a statement that the user has to validate by checking the box before they can submit. The user has to physically check each box. If any checkbox is not checked, then I would like to sees a popup message saying they must check all boxes, Else I am doing a redirect to another page, of course all this on the button click event. This all on Visual Studio 2010, using C#, the backend is Sql-server.
在这里,我用的是JS的样本。
Here a sample of the JS I was using.
<SCRIPT TYPE="text/javascript" LANGUAGE=JAVASCRIPT>
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;
}
}
</SCRIPT>
then, <form onsubmit="return checkCheckBoxes();" action="">
<input type="checkbox" name=" CheckBox1" value="1">
<input type="checkbox" name=" CheckBox2" value="2">
<input type="checkbox" name=" CheckBox3" value="3">
<input type="checkbox" name=" CheckBox4" value="4">
<input type="checkbox" name=" CheckBox19" value="19">
<input type="checkbox" name=" CheckBox5" value="5">
<input type="checkbox" name=" CheckBox6" value="6">
<input type="checkbox" name=" CheckBox7" value="7">
<input type="checkbox" name=" CheckBox8" value="8>
<input type="checkbox" name=" CheckBox9" value="9">
<input type="checkbox" name=" CheckBox10" value="10">
<input type="checkbox" name=" CheckBox11" value="11">
<input type="checkbox" name=" CheckBox12" value="12">
<input type="checkbox" name=" CheckBox13" value="13">
<input type="checkbox" name=" CheckBox14" value="14">
<input type="checkbox" name=" CheckBox15" value="15">
<input type="checkbox" name=" CheckBox16" value="16">
<input type="checkbox" name=" CheckBox17" value="17">
<input type="checkbox" name=" CheckBox18" value="19">
<input type="checkbox" name=" CheckBox20" value="20">
<input type="submit" value="Submit!" />
</form>
但我意识到,复选框不能是服务器控制,但控制的JScript。
But I realized that the Checkboxes cant be server control but jscript controls.
我在编码pretty绿色,所以忍耐一下吧。我非常AP preciate任何帮助,我可以得到的。谢谢你。
I am pretty green at coding, so bear with me please. I greatly appreciate any help I can get. Thanks.
推荐答案
您需要像这样
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;
希望这有助于。
这篇关于通过使用JavaScript循环复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!