Rumah > Soal Jawab > teks badan
P粉4574458582023-08-21 12:43:06
Gunakan mencegah lalai
Dojo Toolkit
dojo.connect(form, "onsubmit", function(evt) { evt.preventDefault(); window.history.back(); });
jQuery
$('#form').submit(function (evt) { evt.preventDefault(); window.history.back(); });
Vanila JavaScript
if (element.addEventListener) { element.addEventListener("submit", function(evt) { evt.preventDefault(); window.history.back(); }, true); } else { element.attachEvent('onsubmit', function(evt){ evt.preventDefault(); window.history.back(); }); }
P粉7948519752023-08-21 10:22:41
Anda boleh menggunakan nilai pulangan fungsi untuk menghalang penyerahan borang
<form name="myForm" onsubmit="return validateMyForm();">
Dan fungsinya adalah seperti berikut:
<script type="text/javascript"> function validateMyForm() { if(check if your conditions are not satisfying) { alert("validation failed false"); returnToPreviousPage(); return false; } alert("validations passed"); return true; } </script>
Jika kod di atas tidak berfungsi dalam Chrome 27.0.1453.116 m, sila tetapkan medan returnValue parameter pengendali acara kepada palsu.
Terima kasih Sam kerana berkongsi maklumat.
Editor:
Terima kasih kepada Vikram untuk penyelesaiannya, jika validateMyForm() mengembalikan palsu:
<form onsubmit="event.preventDefault(); validateMyForm();">
Di mana validateMyForm() ialah fungsi yang mengembalikan palsu apabila pengesahan gagal. Perkara utama ialah menggunakan acara nama. Kami tidak boleh menggunakan e.preventDefault()
sebagai contoh