.submit()通过javascript调用不起作用

时间:2010-07-08 19:10:46

标签: javascript jquery form-submit

当我致电

时,我无法确定导致我的表单无法提交的原因
$('#form').submit();

通过javascript(但是当我点击提交按钮时提交的很好)。所以我添加了这段代码进行测试:

$('#form').live('submit', function()
{
    alert('submitting form');
    return true;
});

现在,当我单击“提交”按钮时,将显示警报,然后提交表单。我打电话的时候:

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

通过javascript,警报显示但表单未提交。现在我将表单通过ajax拖到模态窗口上,所以不确定它是否与它有任何关系。有人知道可能导致这个问题的原因吗?

3 个答案:

答案 0 :(得分:2)

submit功能不支持live事件。

来自jQuery API:

  

在jQuery 1.3.x中仅有以下内容   JavaScript事件(除了   自定义事件)可以绑定   .live():点击,dblclick,keydown,   按键,键盘,mousedown,mousemove,   mouseout,mouseover和mouseup 。如   jQuery 1.4的.live()方法   支持自定义事件以及所有事件   JavaScript事件。从jQuery 1.4.1开始   甚至专注和模糊与现场工作   (映射到更合适,   冒泡,事件焦点和   事件的内容)。截至jQuery 1.4.1   可以指定悬停事件(映射   “mouseenter mouseleave”)。

答案 1 :(得分:0)

尝试在HTMLFormElement对象上调用submit():

$("#form")[0].submit();

相同的结果?

答案 2 :(得分:0)

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

???