您可以像這樣使用內(nèi)聯(lián)事件onsubmit
<form onsubmit="alert('停止提交'); return false;">
或者
<script> function toSubmit(){ alert('我不會提交'); return false; } </script> <form onsubmit="return toSubmit();">
現(xiàn)在,在開發(fā)大型項目時,這可能不是一個好主意。您可能需要使用事件監(jiān)聽器。
請在這里閱讀有關(guān)內(nèi)聯(lián)事件 vs 事件監(jiān)聽器(addEventListener和IE的attachEvent)的更多信息。因為我無法比Chris Baker解釋得更好。
與其他答案不同,返回false
只是答案的部分??紤]在返回語句之前發(fā)生JS錯誤的情況...
html
<form onsubmit="return mySubmitFunction(event)"> ... </form>
script
function mySubmitFunction() { someBug() return false; }
在這里返回false
不會被執(zhí)行,表單將以任何方式提交。您還應(yīng)該調(diào)用preventDefault
來阻止Ajax表單提交的默認操作。
function mySubmitFunction(e) { e.preventDefault(); someBug(); return false; }
在這種情況下,即使有錯誤,表單也不會被提交!
或者,可以使用try...catch
塊。
function mySubmit(e) { e.preventDefault(); try { someBug(); } catch (e) { throw new Error(e.message); } return false; }