Mengapa orang selalu menggunakan jQuery ketika itu tidak perlu?
Mengapa orang tidak bisa menggunakan JavaScript sederhana?
var ele = /*Your Form Element*/;
if(ele.addEventListener){
ele.addEventListener("submit", callback, false); //Modern browsers
}else if(ele.attachEvent){
ele.attachEvent('onsubmit', callback); //Old IE
}
callback
adalah fungsi yang ingin Anda panggil saat formulir dikirimkan.
Tentang EventTarget.addEventListener
, lihat dokumentasi ini di MDN .
Untuk membatalkan submit
acara asli (agar formulir tidak dikirimkan), gunakan.preventDefault()
dalam fungsi panggilan balik Anda,
document.querySelector("#myForm").addEventListener("submit", function(e){
if(!isValid){
e.preventDefault(); //stop form from submitting
}
});
Mendengarkan submit
acara dengan perpustakaan
Jika karena alasan tertentu Anda telah memutuskan bahwa suatu perpustakaan diperlukan (Anda sudah menggunakannya atau Anda tidak ingin berurusan dengan masalah lintas-peramban), berikut adalah daftar cara untuk mendengarkan ajukan acara di perpustakaan umum:
jQuery
$(ele).submit(callback);
Di mana ele
referensi elemen formulir, dan callback
menjadi referensi fungsi panggilan balik. Referensi
<iframe width="100%" height="100%" src="http://jsfiddle.net/DerekL/wnbo1hq0/show" frameborder="0"></iframe>
AngularJS (1.x)
<form ng-submit="callback()">
$scope.callback = function(){ /*...*/ };
Sangat mudah, di mana $scope
ruang lingkup yang disediakan oleh kerangka kerja di dalam controller Anda . Referensi
Reaksi
<form onSubmit={this.handleSubmit}>
class YourComponent extends Component {
// stuff
handleSubmit(event) {
// do whatever you need here
// if you need to stop the submit event and
// perform/dispatch your own actions
event.preventDefault();
}
// more stuff
}
Cukup berikan pawang ke onSubmit
penyangga. Referensi
Kerangka kerja / perpustakaan lainnya
Rujuk ke dokumentasi kerangka kerja Anda.
Validasi
Anda selalu dapat melakukan validasi dalam JavaScript, tetapi dengan HTML5 kami juga memiliki validasi asli.
<!-- Must be a 5 digit number -->
<input type="number" required pattern="\d{5}">
Anda bahkan tidak memerlukan JavaScript apa pun! Setiap kali validasi asli tidak didukung, Anda dapat mundur ke validator JavaScript.
Demo: http://jsfiddle.net/DerekL/L23wmo1L/
document.forms['yourForm'].onsubmit = function(){}
? AtauaddEventListener
?