尝试阻止表单提交时,表单两次提交

时间:2019-04-17 09:50:27

标签: javascript jquery

在我的页面上,有一个带有id=save-questions-form的表格。我正在尝试通过以下方式拦截表单提交:

$('#save-questions-form').on('submit', handler);

下面有处理程序函数的内容(在ajax中,将后请求发送到form操作):

function handler() {
    $.ajax({...});
    return false;
}

在这种情况下,该表单被发送两次。 下面的此选项也无济于事。

function handler(event) {
    event.preventDefault();
    $.ajax({...});
    return false;
}

但是,如果我尝试在没有ajax的情况下做同样的事情,例如:

function handler(event) {
    return false;
}

然后正常工作,并且不发送表格。

我通过以下方式解决了这个问题:

$('document').on('submit', '#save-questions-form', saveQuestionsSubmit);

在这种情况下,一切正常,表单不会发送两次。
但是我不明白它是如何工作的?有什么想法吗?

0 个答案:

没有答案