Rumah > Soal Jawab > teks badan
P粉4634184832023-08-22 12:35:21
Anda boleh menggunakan acara sebaris seperti inionsubmit
<form onsubmit="alert('停止提交'); return false;">
atau
<script> function toSubmit(){ alert('我不会提交'); return false; } </script> <form onsubmit="return toSubmit();">
Kini, apabila membangunkan projek besar, ini mungkin bukan idea yang baik. Anda mungkin perlu menggunakan pendengar acara.
Sila baca lebih lanjut tentang acara sebaris lwn pendengar acara (tambahEventListener dan attachEvent IE) di sini . Kerana saya tidak dapat menjelaskannya lebih baik daripada Chris Baker.
P粉3995850242023-08-22 11:25:35
Tidak seperti jawapan lain, mengembalikan false
hanya merupakan bahagian jawapan. Pertimbangkan kes di mana ralat JS berlaku sebelum pernyataan pulangan...
html
<form onsubmit="return mySubmitFunction(event)"> ... </form>
skrip
function mySubmitFunction() { someBug() return false; }
Kembali ke sinifalse
不会被执行,表单将以任何方式提交。您还应该调用preventDefault
tidak akan dilaksanakan dan borang akan diserahkan dalam apa jua cara. Anda juga harus memanggil preventDefault
untuk menghalang tindakan lalai penyerahan borang Ajax.
function mySubmitFunction(e) { e.preventDefault(); someBug(); return false; }
Dalam kes ini, borang tidak akan dihantar walaupun terdapat ralat!
Sebagai alternatif, anda boleh menggunakan try...catch
blok.
function mySubmit(e) { e.preventDefault(); try { someBug(); } catch (e) { throw new Error(e.message); } return false; }