我已经实现了'locksubmit'插件http://blog.leenix.co.uk/2009/09/jquery-plugin-locksubmit-stop-submit.html,它将按钮的显示状态更改为禁用。 然后,我希望在发布到表单URL之前将表单延迟几秒钟。
在用户点击提交按钮后,我必须添加或修改以延迟“post”形式?
谢谢!
答案 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必须等待所有参数在执行正文之前得到解决。通过在参数期间设置超时,我们会延迟返回。