İnsanlar gerekli olmadığında neden her zaman jQuery kullanıyor?
İnsanlar neden basit JavaScript kullanamıyor?
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
form gönderilirken aramak istediğiniz bir işlevdir.
Hakkında EventTarget.addEventListener
, MDN ile ilgili bu belgelere göz atın .
Yerel submit
olayı iptal etmek için (formun gönderilmesini engellemek), .preventDefault()
geri arama işlevinizde kullanın ,
document.querySelector("#myForm").addEventListener("submit", function(e){
if(!isValid){
e.preventDefault(); //stop form from submitting
}
});
submit
Etkinliği kütüphanelerle dinlemek
Herhangi bir nedenle bir kitaplığın gerekli olduğuna karar verdiyseniz (zaten bir kitaplık kullanıyorsanız veya tarayıcılar arası sorunlarla uğraşmak istemiyorsanız), ortak kitaplıklarda gönderme olayını dinlemenin yollarının bir listesi:
jQuery
$(ele).submit(callback);
ele
Form öğesi başvurusu nerede ve callback
geri arama işlevi başvurusu. Referans
<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(){ /*...*/ };
Çok basit, denetleyicinizin$scope
içindeki çerçeve tarafından sağlanan kapsam nerede ? Referans
Tepki
<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
}
Sadece bir işleyiciyi onSubmit
pervaneye iletin. Referans
Diğer çerçeveler / kitaplıklar
Çerçevenizin belgelerine bakın.
onaylama
Doğrulamanızı her zaman JavaScript'te yapabilirsiniz, ancak HTML5 ile yerel doğrulamaya da sahibiz.
<!-- Must be a 5 digit number -->
<input type="number" required pattern="\d{5}">
JavaScript'e bile ihtiyacınız yok! Yerel doğrulama desteklenmediğinde, bir JavaScript doğrulayıcıya geri dönebilirsiniz.
Demo: http://jsfiddle.net/DerekL/L23wmo1L/
document.forms['yourForm'].onsubmit = function(){}
? VeyaaddEventListener
?