2011-12-08 119 views
0

我正在用JavaScript驗證HTML表單。 爲什麼刷新頁面時Validator.validateInput會執行?onblur執行錯誤

我希望它在我模糊元素「第一個」時執行。

var Validator = { 
init: function() { 
    var form = document.getElementById('form'); 
     var first = form.elements[0]; 
     first.focus(); 
     var firstname = /^[a-z -']+$/; 
     first.onblur = Validator.validateInput(first,firstname); 

非常心存感激的任何幫助

回答

2
first.onblur = Validator.validateInput(first,firstname); 

什麼這行做的是叫Validator.validateInput兩個參數(firstfirstname)。然後它將first.onblur設置爲返回值validateInput

因此,當頁面加載時,Validator.validateInput正在執行,因爲這就是您要做的。你可能想這樣做:

first.onblur = function(){ 
    Validator.validateInput(first,firstname); 
}; 
+0

非常感謝! –

+0

不客氣:-) –