1

这个 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),然后使用 Check0=0&Check1=0&Check2=0 等建立一个帖子字段。

我没有将每个检查设置为不同的值,我需要计算有多少复选框,然后将它们设置为 0,我正在使用 PHP 来卷曲页面。

4

2 回答 2

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

我应该补充...我认为服务器端语言无法知道输入的类型。该信息必须通过客户端方式从用户的网络浏览器中获取。

于 2013-01-19T02:24:34.503 回答
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;
}
于 2013-01-19T02:37:17.923 回答