属性对象#的“提交” 是不是一个函数(Property 'submit' of

2019-06-18 06:31发布

谁能给我解释一下这个错误意味着什么? 我将不胜感激很多关于任何与此kindof帮助。

<form class="form" id="form" action="/mailer.php" method="post">

我使用它的jQuery代码是这样的。

$('#form').submit();  

Answer 1:

检查的形式,看是否有HTMLInputElement与ID或名字时submit

这将设置一个属性submitHTMLFormElement ,所以submit函数,它是在表格元件的原型可以不被执行。

例:

<form class="form" id="form" action="/mailer.php" method="post">
    ​<input type="button" name="submit" value="go"/>
</form>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

JS:

​console.log($("#form")[0].submit)​;​  // will be the button element, not the submit function.

jQuery的.submit()方法调用.submit()原始DOM元素,所以会发生错误。



Answer 2:

xdazz解释这个问题很好。

您可以使用HTMLFormElement的本地提交的方法来解决问题:

HTMLFormElement.prototype.submit.call($('#form')[0]);


Answer 3:

如果你有一个按钮或输入的名称提交或提交的ID,我已经看到了IE浏览器的错误。 确保您输入正确命名。 这里有一个关于它的文章http://bugs.jquery.com/ticket/1414



文章来源: Property 'submit' of object # is not a function