P粉4634184832023-08-22 12:35:21
您可以像这样使用内联事件onsubmit
<form onsubmit="alert('停止提交'); return false;">
或者
<script> function toSubmit(){ alert('我不会提交'); return false; } </script> <form onsubmit="return toSubmit();">
现在,在开发大型项目时,这可能不是一个好主意。您可能需要使用事件监听器。
请在这里阅读有关内联事件 vs 事件监听器(addEventListener和IE的attachEvent)的更多信息。因为我无法比Chris Baker解释得更好。
P粉3995850242023-08-22 11:25:35
与其他答案不同,返回false
只是答案的部分。考虑在返回语句之前发生JS错误的情况...
html
<form onsubmit="return mySubmitFunction(event)"> ... </form>
script
function mySubmitFunction() { someBug() return false; }
在这里返回false
不会被执行,表单将以任何方式提交。您还应该调用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; }