2010-11-27 64 views
3

为什么这个工作:jquery submit()不处理句柄?

$("form[data-remote].edit_item").submit(); 

但是,这不?

$("form[data-remote].edit_item").submit(function() { 
      alert('goo') 
    }); 
+0

您的页面可能在submit()处理程序执行之前卸载吗? – 2010-11-27 21:53:45

+0

没有卸货正在进行,这是所有的AJAX保存 – AnApprentice 2010-11-27 21:54:01

回答

4

有了这个,你调用submit事件:

$("form[data-remote].edit_item").submit(); 

有了这个,你是处理程序连接到submit事件:

$("form[data-remote].edit_item").submit(function() { 
    alert('goo'); 
}); 

随着第二个你说的是“submit事件发生” ......你不是说‘嘿,你,提交’,对于你仍然需要调用.submit(),或者是它的一个快捷方式:.trigger("submit") ......这样的:

$("form[data-remote].edit_item").submit(function() { 
    alert('goo'); 
}).submit(); 

。 ..但在那个时候,为什么不单独提醒呢?像这样:

$("form[data-remote].edit_item").submit(); 
alert('goo'); 
0

显示全部显示您的alert()

$("form[data-remote].edit_item").submit(function(e) { 
    e.preventDefault(); 
    alert('goo'); 
}); 
1

您在提示调用后缺少分号。

0

第一个提交表单,第二个表单提交时设置一个函数回调来执行。