我希望在单击提交按钮后阻止提交表单。它应该捕获所有数据,但不能发送。
为了让它运转起来我有点挣扎,但无济于事。我已经尝试了以下所有方法,但没有。
function saveDetails(form){
this.preventDefault();
}
function saveDetails(form){
$(form).preventDefault();
}
function saveDetails(form){
form.preventDefault();
}
我可以通过运行完美运行的$(form).serialize();
轻松捕获数据。但上述内容不适用于停止提交操作。有什么帮助吗?
答案 0 :(得分:2)
您需要在event.preventDefault()
上调用它。 preventDefault
是DOM事件对象的方法。例如,您需要将一个处理程序附加到submit
事件,该处理程序必须执行您需要的所有操作,但在其中您必须调用此方法
$('form').submit(function(e){
saveDetails();
e.preventDefault();
})
答案 1 :(得分:1)
在提交表单时执行的函数中,您需要传入event
对象,jQuery将其传递给所有事件回调,然后在其上调用preventDefault()
,例如:< / p>
function saveDetails(form, evt) {
evt.preventDefault();
var data = $(form).serialize();
// etc
}
$("form").on("submit", function(evt) {
saveDetails(this, evt);
});
或者简化一下:
function saveDetails(form) {
var data = $(form).serialize();
// etc
}
$("form").on("submit", function(evt) {
evt.preventDefault();
saveDetails(this);
});