此JavaScript函数位于我调用的网页中:
function getChecked(button, form) {
var name;
for (i = 0; i < document.forms['CheckForm'].list.length; i++) {
name = "Check" + (i+0);
if(document.forms['CheckForm'].list[i].checked == true) {
if(name == "Check0")
form.Check0.value = "2437315";
else if(name == "Check1")
form.Check1.value = "2437104";
else if(name == "Check2")
form.Check2.value = "2434936";
else if(name == "Check3")
form.Check3.value = "2434574";
else if(name == "Check4")
form.Check4.value = "2433541";
else if(name == "Check5")
form.Check5.value = "2426021";
}
有时有6个检查,有时7个有时3个,我需要帮助计算有多少Check(Somenumber),然后构建一个Post0字段,Check0 = 0&amp; Check1 = 0&amp; Check2 = 0等等。 / p>
我没有将每个支票设置为不同的值,我需要计算有多少个Checkbox,然后将它们设置为0,我使用PHP来查看页面。
答案 0 :(得分:0)
在javascript中,您可以执行以下操作:
var form = top.document.forms.CheckForm;
var numFormElements = form.length;
var counter = 0;
for( i = 0; i < numFormElements && !foundItem; i++ )
{
var obj = form[i];
if( obj.type == 'checkbox' )
{
counter++;
}
}
alert( counter ); // or whatever else
我应该添加......我认为服务器端语言无法知道输入的类型。必须通过客户端方式从用户的Web浏览器中获取该信息。
答案 1 :(得分:0)
你可以随便简单地构建字符串。还有其他方法可以做到这一点(我建议使用jQuery并使用“this”循环)。以下是我对现有代码的处理方法。
//set a string
var values = '';
if(name == "Check0") {
form.Check0.value = "2437315";
values += 'Check0=' + form.Check0.value;
} else if(name == "Check1") {
form.Check0.value = "2437315";
values += 'Check1=' + form.Check1.value;
}