JS / JQuery表单提交延迟?

时间:2011-02-24 05:27:52

标签: javascript jquery

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

在用户点击提交按钮后,我必须添加或修改以延迟“post”形式?

谢谢!

2 个答案:

答案 0 :(得分:21)

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

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

这应该与locksubmit插件兼容。

在此处查看演示:http://jsfiddle.net/7GJX6/

答案 1 :(得分:0)

我认为这正是您所需要的 - 修改lockSubmit()

jQuery(':submit').lockSubmit(function(){
  setTimeout(5e3); // fancy 5 seconds
});

使用选项对象:

 jQuery(':submit').lockSubmit({
   submitText: "Please wait",
   onAddCSS: "submitButtons",
   onClickCSS: "submitButtonsClicked"
},function(){
  setTimeout(5e3);
}));

基本上javascript必须等待所有参数在执行正文之前得到解决。通过在参数期间设置超时,我们会延迟返回。