在我的页面上,有一个带有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);
在这种情况下,一切正常,表单不会发送两次。
但是我不明白它是如何工作的?有什么想法吗?