[英]why validate function invoke after page refresh and nothing happen on click
var asign = function(id){
return document.getElementById(id) ;
} ;
var f_name = asign('fname').value ;
var validate = function (a) {
this.a = a ;
if(!a){
alert("Somthing is require");
} else if(a.length<6){
alert("characters should be minimum 6") ;
}
}
asign('submit').addEventListener('click',validate(f_name),false) ;
驗證功能在頁面刷新中調用,單擊按鈕后沒有任何反應驗證功能沒有任何反應
您需要傳遞引用以將函數用作addEventListener
的參數,但不能調用它,
1。您可以將代碼包裝成這樣的功能
asign('submit').addEventListener('click', function () {
validate();
}, false);
2。或使用.bind
asign('submit').addEventListener('click', validate.bind({}), false);
例
var asign = function(id) { return document.getElementById(id); }; var validate = function () { var a = asign('fname').value; if (!a) { alert("Somthing is require"); } else if (a.length < 6) { alert("characters should be minimum 6"); } } asign('submit').addEventListener('click', validate.bind({}), false);
<input id="fname"> <button id="submit">submit</button>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.