delay form submit
by Laurens Maneschijn
September 17, 2015
HTML
<form>
<input type="submit"/>
</form>
<div id="msg"></div>
First submit will be blocked, and after a second another submit is triggered that is allowed to pass.
JavaScript
$(document).ready(function(){
$(document).on('submit','form',function(e,extraParameters){
console.log('form submit event');
// console.log(extraParameters,e);
if( ! (extraParameters && extraParameters.gosubmit)){
msg('first submit event: delayed');
e.preventDefault();
setTimeout(function(){
$(e.target).trigger('submit',{'gosubmit':1});
}, 1000);
return;
}else{
msg('second submit event: passthru');
// no e.preventDefault() (or (deprecated) return false): submit continues as usual.
}
});
});
function msg(msg){
console.log(msg);
$('#msg').text(msg);
}