JS/JQuery表单提交延迟?

jer*_*ins 4 javascript jquery

我已经实现了这个'locksubmit'插件http://blog.leenix.co.uk/2009/09/jquery-plugin-locksubmit-stop-submit.html,它将按钮的显示状态更改为禁用.然后,我希望在发布到表单URL之前将表单延迟几秒钟.

一旦用户点击提交按钮,我必须添加或修改以延迟表单"post"?

谢谢!

Dav*_*ang 21

取消默认表单提交行为,并同时启动超时:

$('form').submit(function (e) {
    var form = this;
    e.preventDefault();
    setTimeout(function () {
        form.submit();
    }, 1000); // in milliseconds
});
Run Code Online (Sandbox Code Playgroud)

这应该与locksubmit插件兼容.

在这里查看演示:http://jsfiddle.net/7GJX6/

  • 为什么这不会导致无限递归和表单提交? (6认同)
  • 它不是递归的,因为`e.preventDefault()`并使用`this.submit()`而不是`$('form').submit()`,这将导致无限循环. (2认同)