开发者

JS /JQuery Form Submit Delay?

I've implemented this 'locksubmit' plugin http://blog.leenix.co.uk/2009/09/jquery-plugin-locksubmit-stop-submit.html where it cha开发者_如何学Pythonnges the display state of the button to disabled. I then want the form to be delayed by a few seconds before posting to the form URL.

What would I have to add in or modify to delay the form "post" once the user has clicked the submit button?

Thanks!


Cancel the default form submit behaviour, and start a timeout at the same time:

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

This should be compatible with the locksubmit plugin.

See a demo here: http://jsfiddle.net/7GJX6/


I think this is what you're looking for - modify lockSubmit() as such:

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

And with options object:

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

Basically javascript has to wait for all arguments to be resolved before executing the body. By setting timeout during the argument we delay the return.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜