为什么我不能阻止jQuery中提交事件的处理程序内的表单提交?

时间:2015-11-18 20:02:24

标签: jquery form-submit cancellation event-capturing

假设我有一个id为'edit-resource'的表单,稍后会出现在模态对话框中。

我将一个监听器附加到文档中,这样无论模式表单被回发和替换多少次,它都会捕获事件。

$(document).on('submit', '#edit-resource', function(e) {
    //breakpoint
    //ajax request with new FormData
    return false; //cancel submit
});

当我提交表单时,事件处理程序按预期运行,但到达断点时...帖子已经命中服务器(也有一个断点)。提交事件应该是可取消的(即通过返回false),但如果已经通过处理程序的第一行命中服务器,则无法取消此类事件。是什么导致了这个问题?

1 个答案:

答案 0 :(得分:0)

使用.preventDefault

$(document).on('submit', '#edit-resource', function(e) {
    e.preventDefault(); // Will stop your form from submission
    //breakpoint
    //ajax request with new FormData
    return false; //cancel submit
});