2012-02-02 79 views
1

我有以下的jQuery:jQuery的处理JS表单提交

$("form").submit(function() { 
    //DO STUFF HERE    
}); 

但是,这不是检测/捕获/处理发生的事情提交本JavaScript的

document.form1.submit() 

看起来超级简单。我敢肯定,这对我来说很简单/愚蠢。提前致谢。

+1

它是“jQuery”,而不是JQUERY,Jquery或JQuery。 – meagar 2012-02-02 17:13:06

回答

0

jQuery的只有捕获的默认浏览器的行为,就像一个提交按钮点击,并通过自身的jQuery添加的事件......

-1

你的表单元素上指定一个ID,然后使用该ID像

$("#formid").submit(function() { 
    //DO STUFF HERE    
}); 
+0

在这里你可以看到它是如何工作的http://api.jquery.com/submit/ – themis 2012-02-02 17:13:54

+0

这只会绑定到一个单一的形式,而不是所有形式的处理程序,它不会解决问题。 – Quentin 2012-02-02 17:14:26

+0

如何使用它的类在每个表单上应用它 $(“。formclass”)。submit(function(){ // DO STUFF HERE }); – themis 2012-02-02 17:15:40

0

使用JavaScript调用表单的提交方法将绕过附加到表单的任何事件处理程序。他们在用户提交表单时触发,而不是在页面执行时触发。

当您以编程方式提交时,您需要手动触发任何事件处理程序。 jQuery submit method将为您抽象。因此,请在jQuery对象上调用submit(),而不要直接在HTMLFormElementNode上调用。

jQuery('#form1').submit(); // Assuming you have a form with an id instead of the obsolete name attribute 
0

我建议提交与jQuery的形式,以及 - 更换你的document.form1.submit()有:

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

它解决了一些关于哪些行为触发其JavaScript事件浏览器的不一致。