为什么表单的提交事件没有触发(jQuery)?

时间:2012-02-12 14:22:36

标签: form-submit jquery

我有一个表格+布局,如下:

<form ...>
    <div id="editor">
        [form html]
        <input type="submit" value="Submit form" />
    </div>
</form>

以下javascript:

$(function() {
    var form = $('#editor').parents('form');
    alert(form.length); // this alerts "1"
    $(document).on('submit', 'form', function() {
        alert('document form submit fired'); // this works as expected (alerts)
    });
    form.on('submit', function() {
        alert('selected form submit fired'); // this is never alerted
    });
});

此表单未通过ajax加载。页面加载时,第一个对话框警告“1”。但是,在提交表单时,只会触发一个警报 - 触发提交文档中所有表单的警报。

为什么会发生这种情况?

2 个答案:

答案 0 :(得分:7)

It does work。发生了其他事情,阻止了第二次警报的发射。

答案 1 :(得分:0)

您的表单选择器不正确。

尝试并执行此操作

$("form").on('submit', function() {

非常确定这应该有效

实际上,如果没有通过ajax加载或通过javascript动态加载

你可以做到

$("form").submit(function() {

修改

抓我的上面。没看到你设置表格的价值。查看http://jsfiddle.net/s3fvM/1/。似乎对我很好。两人都在开火和警报。