0

我想阻止单击提交按钮后提交表单。它应该捕获所有数据,但不发送。

我一直在努力解决这个问题,试图让它工作,但无济于事。我已经尝试了以下所有方法,但没有任何效果。

function saveDetails(form){
    this.preventDefault();
}

function saveDetails(form){
    $(form).preventDefault();
}

function saveDetails(form){
    form.preventDefault();
}

$(form).serialize();我可以通过运行完美的方式轻松捕获数据。但以上不适用于停止提交操作。有什么帮助吗?

4

2 回答 2

2

你需要调用它event.preventDefault()preventDefault是 DOM 事件对象的方法。例如,您需要将处理程序附加到submit事件,该处理程序必须执行您需要的所有操作,但在它内部您必须调用此方法

$('form').submit(function(e){
    saveDetails();
    e.preventDefault();
})
于 2012-08-21T14:37:01.747 回答
1

在提交表单时执行的函数中,您需要传入eventjQuery 传递给所有事件回调的对象,然后调用preventDefault()它,例如:

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);
});
于 2012-08-21T14:39:45.240 回答