大致来说,这是我的代码:

<form name="mpform" id="mpform">
<input type="checkbox" onclick="mpfunc()" id="mpay" name="mpay[]" value="19" style="float:left;" />
//many of the above input tag - only the value changes with other numbers
</form>
<script type="text/javascript">
function mpfunc()
{
var comp=0;
document.getElementById("mpaydiv").style.visibility="visible";
for(var i=0; i< document.getElementById("mpform").elements['mpay[]'].length;i++){
if(document.getElementById("mpform").elements['mpay[]'][i].checked)
comp = comp + document.getElementById("mpform").elements['mpay[]'][i].value;
}
document.getElementById("mpaydiv").innerHTML=comp;
}
</script>
<div id="mpaydiv" style="position:fixed; right:0; visibility:hidden; bottom:0; border:1px solid black; background-color:white; padding:2px 2px;"></div></div>
    </div>

    <div id="footer"></div>
</div>


我尝试用form [0],mpform和其他替换getElementById(“ mpform”),但是我似乎无法访问这些值。使用当前的getelementid我得到


  错误:document.getElementById(“ mpform”)为空源文件:
  index.php?page = fakturi行:3938


使用mpform我得到的mpform与form [0]一样是未定义的
请帮忙。如何获得所有选定复选框的值之和?

最佳答案

我似乎想起了IE表单数组的0索引有问题。您可以通过document.getElementsByName("mpform")[0]document.forms['mpform']访问它。要获取复选框后代,可以使用getElementById('mpay')document.getElementsByName("mpay")[0]document.getElementsByName("mpform")[0].elements[0]

07-24 15:25