从javascript函数计算复选框

时间:2013-01-19 01:32:07

标签: javascript html

此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来查看页面。

2 个答案:

答案 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;
}