1

我正在尝试创建一个表单,该表单将存储哪些框已被签入数组。(1-1、1-2、1-3 等)。然后一个新页面将根据检查的内容显示或隐藏深度步骤。所以我现在正在尝试做一些更简单的事情,只需在提交时填充一个数组,然后打印数组中的值。到目前为止,我一直没有成功。我已经发布了我正在处理的 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>
4

1 回答 1

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);" >
于 2013-04-04T16:02:54.197 回答