使用e.preventDefault()提交表单

Aud*_*low 1 javascript forms jquery

我将如何继续提交已被jQuery拦截的表单e.preventDefault()?如果我打电话的话显然不会提交$(form).submit()。以下是我当前脚本的示例。

$(form).submit(function (e) {
    e.preventDefault();

    // Code...

    if (true) {
        $(form).submit();
    } else {
        // Code...
    }
});
Run Code Online (Sandbox Code Playgroud)

Aru*_*hny 5

因为您通过调用jQuery submit方法导致对事件处理程序的递归调用(jQuery submit方法将在调用prevent default的地方再次调用该处理程序,从而阻止了默认操作),而是可以只调用form元素的submit方法,以便事件处理程序不会再打来

$(form).submit(function(e) {
  e.preventDefault();
  var self = this;

  // Code...

  if (true) {
    self.submit();
  } else {
    // Code...
  }
});
Run Code Online (Sandbox Code Playgroud)