// this works for me... var femaleChecking = 1; var maleChecking = 1; var tick = 10; $(document).ready(function() { $('#form1').submit(function() { console.log('called submit'); if (femaleChecking == 1 || maleChecking == 1) { $("input").attr("disabled","disabled"); submitWaitIntervalID = setInterval("submitWait()", 500); return false; } console.log('OK!'); return false; }); }); function submitWait() { --tick; if (tick == 0) { femaleChecking = 0; maleChecking = 0; } if (femaleChecking == 0 && maleChecking == 0) { $("input").attr("disabled",""); clearInterval(submitWaitIntervalID); $('#form1').unbind("submit"); console.log('unbound'); // $('#form1').submit(); alert('submitting!'); } }