大致来说,这是我的代码:
<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]