TypeError:'[object HTMLInputElement]'不是jQuery form.submit()中的函数(评估'elem [type]()')

时间:2011-12-29 20:17:06

标签: javascript jquery html forms submit

从未遇到过这个问题?我在最新版本的jQuery中遇到此错误。我尝试使用1.6.2版本,没有问题。

TypeError: '[object HTMLInputElement]' is not a function (evaluating 'elem[ type ]()')

line 3175

我们应该注意哪些事情发生了变化?

谢谢, 千斤顶

3 个答案:

答案 0 :(得分:37)

如果您的input标记的任何名称为submit,则通常会发生这种情况。 例如,

<form id="frm">
    <input type="submit" name="submit" value="Post" />
</form>

在上面的代码中,document.getElementById("frm").submit代表input元素。将()应用于submit时会显示此错误。

答案 1 :(得分:7)

我发现使用onclick属性调用与同名的JavaScript函数 id name元素上的em> input属性:

<input id='foo' name='fooName' onclick='foo();'> <!-- BAD: id matches function -->

<input id='fooId' name='foo' onclick='foo();'> <!-- BAD: name matches function -->

<input id='fooId' name='fooName' onclick='foo();'> <!-- WORKS! -->

无论输入类型如何,都会发生此行为。

答案 2 :(得分:3)

我最近在safari上提出类似的问题,提交一份表格。原来是由于提交输入元素具有name="submit",这是冲突的,导致它将其作为不是函数返回。