输入外部表格被选中

时间:2013-01-18 11:26:15

标签: javascript

我有点问题。我想我犯了一个大的菜鸟错误,但我找不到它。在下面的代码中,我尝试获取我的表单的输入,但它也在表单之外输入。那是为什么?

这是我的JS代码:

function selectAll(bool){
    var form = document.forms['selectMailing'];
    for(var i=1; i<=form.length; i++) {
        form.elements['select'+i].checked = bool;
    }
}

和HTML:

<input type=button value="Select All" onclick="selectAll(true)"/>
<form method=post action="" id="selectMailing" onsubmit="return checkSelect()">
    <input type=checkbox name="select1" value="1" />
    <input type=checkbox name="select2" value="1" />
    <input type=submit value="Spammer" />
</form>

因此,当我尝试这个时,JS返回错误'无法设置属性'已检查'未定义'在线,其中有我的输入按钮。为什么会这样呢?我选择表单,只有他的元素和输入按钮没有名称可以与名称形式混淆。

感谢您的帮助!

我知道jquery但我之前想学习JavaScript,所以如果你唯一的用户是'使用jQuery',请去帮助别人:)

1 个答案:

答案 0 :(得分:2)

在“selectMailing”表单中有3个输入。您可以通过在代码中提供“form.length”警报来验证它。前两个输入是复选框类型,第三个输入是提交类型。

修改这样的javascript以访问复选框类型输入项(使用类型检查)

function selectAll(bool){
var form = document.forms['selectMailing'];
//alert(form.length);
for(var i=0; i<form.length; i++){
     if(form.elements[i].type == "checkbox")
     {
          form.elements[i].checked = bool;
      }
  }
}