我正在尝试创建一个表单,用于存储已将哪些框检入数组。 (1-1,1-2,1-3等)。然后,新页面将根据检查的内容显示或隐藏深度步骤。所以我现在尝试通过在onsubmit上填充数组然后打印数组中的值来做更简单的事情。到目前为止,我一直没有成功。我已经发布了我正在处理的Javascript和表单调用。我还有一个链接:http://jsfiddle.net/kNsW9/13/
<form method="post" onsubmit="return checked_boxes(this.id);" >
<script>
var checked =[];
function checked_boxes(form)
{
var getInputs = form.getElementsByTagName("input");
var inputCount = getInputs.length;
for (var i = 0; i < inputCount; i++) {
if (getInputs[i].type === "checkbox" && getInputs[i].checked) {
checked.push(getInputs[i].value);
}/*
else if (getInputs[i].type === "checkbox" && getInputs[i].unchecked) {
checked.pop(getInputs[i].value);
}*/
}
}
function print_checked()
{
for(var i = 0; i < checked.length; i++)
{
document.write(checked[i]);
}
}
</script>
答案 0 :(得分:2)
您正在将表单的id传递给checked_boxes函数;不是形式本身。
稍后在checked_boxes函数中,您假设传递的值是表单而不是表单ID(这是一个字符串)。 String没有getElementsByTagName函数。
要解决此问题,您可以更改
<form method="post" onsubmit="return checked_boxes(this.id);" >
到
<form method="post" onsubmit="return checked_boxes(this);" >