簡體   English   中英

為什么驗證功能在頁面刷新后調用而單擊時什么也沒有發生

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM