2009-11-07 46 views
1

我对jQuery有点问题: 我在表单上定义了.submit(),当我通过单击提交按钮提交表单时,偶数触发器和事情工作顺利,但是,何时我使用document.forms[0].submit(),事件不会被触发,但表单提交!有什么理由?我如何克服这一点?jQuery .submit问题

+0

重复 http://stackoverflow.com/questions/645555/should-jquerys-form-submit-not-trigger-onsubmit-within-the-form-tag – silent 2009-11-07 12:47:49

回答

5

这只是它的工作方式 - 调用本地.submit()不会触发的JavaScript事件处理程序。

使用jQuery的.submit()代替:

$('form:first').submit(); 
-1

这听起来很奇怪,但为什么你在使用jQuery的时候甚至使用了document.forms[0].submit()

简单(?也许愚蠢的)建议:不要使用document.forms[0].submit()使用这个代替

$("#hereidofyourform").submit() 
1

如果提交表单被命名为这样

<form method="POST" id="the_waffle_form"> 

然后你就可以这样提交。

$("#the_waffle_form").submit(); 

查看documentation了解更多优秀示例。

0

我们这里有一些人被迫使用遗留系统的代码。这些系统不符合规定,在我的情况下等待升级。但是,当成千上万的人使用该系统时,无法进入并将代码更改为基线包。所以,我们不得不寻找解决方法。在我的情况下,表格没有ID或名称,所以使用document.forms[0].submit()是唯一的选择之一。

+0

这并不回答这个问题! – Mac 2012-12-06 00:47:09