 <p>No, there isn't. By the time the timeout function runs, the browser will have already submitted the form and be loading the new page. </p> <p>If you want to cancel the submission <em>conditionally</em> than the closest you could come would be to <em>always</em> prevent the default form behaviour and then conditionally restart it (by calling <code>submit()</code>) in the timeout.</p>