Onsubmit填充数组,然后显示数组中的内容

时间:2013-04-04 15:57:14

标签: php javascript html

我正在尝试创建一个表单,用于存储已将哪些框检入数组。 (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>

1 个答案:

答案 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);" >