【问题标题】:object is not a function对象不是函数
【发布时间】:2014-01-31 10:10:09
【问题描述】:

我为表单制作了一个非常大的脚本,一切正常,除了我的 onchange() 选择根本不起作用,但仅在这个脚本中。如果我尝试在空白页面上执行此操作(只需放置一个脚本标记,将我的 js 放入其中,将我的 html 代码与我的选择标记一起放置,等等……一切正常)。

所以我的问题是:为什么我的函数模型根本不起作用?我的头标签里面有什么问题吗?谢谢!

附:这是我在控制台中得到的:未捕获的 TypeError: object is not a function

   <head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<script>


    function modele(form) {
        var x = form.marque.selectedIndex;
        alert(x);
    }
</script>
    <style>
        [...]
    </style>
</head>

在我体内:

<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post" id="credit">
[...]
<td><label for="marque">Marque :</label></td>
                    <td>
                        <select id="marque" name="marque" onChange="modele(this.form)">
                            <option></option>
                            <option>Acuras</option>
                            <option>Hondas</option>
                            <option></option>
                            <option></option>
                        </select>
                    </td>
                    <td><label for="modele">Modele :</label></td>
                    <td><select id="modele" name="modele">
                            <option></option>
                        </select>
                    </td>
[...]
</form>

【问题讨论】:

    标签: javascript html forms select


    【解决方案1】:

    问题是你给&lt;select&gt; 元素赋予了id“modele”。更改它或函数的名称。浏览器通过引用&lt;select&gt; 的DOM 节点来覆盖函数与全局名称“modele”的绑定。

    【讨论】:

    • 干得好!它现在工作正常,谢谢!将来,我会记住这一点。 (我会在大约 10 分钟内接受你的回答)
    【解决方案2】:

    还有另外两个名为“modele”的对象。第一个是第二个select标签的id,第二个是第二个select的名字也是'modele'。

    尝试将两者都更改为其他名称或将函数名称更改为其他名称以使其工作。

    【讨论】:

    • “name”属性的值不会造成问题。
    猜你喜欢
    • 2012-02-06
    • 2015-08-11
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    • 2019-03-02
    相关资源
    最近更新 更多