【问题标题】:Error document.form is undefined in javascript错误 document.form 在 javascript 中未定义
【发布时间】:2012-01-17 09:58:35
【问题描述】:

我有一个javascript代码:

<form onsubmit="return false;" action="">
<input type="radio" name="type" id="type0" value="0" onclick="toggleSet(this)" checked />type 0
<input type="radio" name="type" id="type1" value="1" onclick="toggleSet(this)" />Type 1
</form>
<script>
function toggleSet() {
    for(var i=0; i<document.form.type.length; i++) {
        if(document.form.type[i].checked) {
            var type = document.form.type[i].value;
        }
    }
    alert(type);
}
</script>

输出错误:document.form 未定义,如何解决?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    document 的表单属性不存在。您可能对document.forms HTML 集合感到困惑:

    document.forms[0];              //First <form> element
    document.forms['name_of_form']; //Points to <form name="name_of_form">
    

    固定代码:

    function toggleSet() {
        var form = document.forms[0];
        var type; //Declare variable here, to prevent a ReferenceError at the end
        for(var i=0; i<form.type.length; i++) {
            if(form.type[i].checked) {
                type = form.type[i].value;
                break; // After finding an occurrence, break the loop:
                       // You expect only one value
            }
        }
        alert(type);
    }
    

    【讨论】:

      【解决方案2】:

      只需将名称定义为

      并使用表单名称调用表单... :)

      例如 var type = document.form1.type[i].value;

      【讨论】:

        【解决方案3】:

        没有属性document.form

        document 有一个属性forms,它是文档包含的表单的数组。您可以通过以下方式访问所需的表单:

        document.forms[0] // first form
        document.forms['theForm']  // form with name="theForm"
        

        【讨论】:

          【解决方案4】:

          document.form 据我所知不是标准的。 document.forms(注意's')是。文档可以有多种形式。

          【讨论】:

            猜你喜欢
            • 2013-06-26
            • 1970-01-01
            • 2012-05-11
            • 2014-01-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多