onblur执行错误

时间:2011-12-08 15:26:20

标签: javascript javascript-events onblur

我正在使用JavaScript验证HTML表单。 为什么我刷新页面时会执行Validator.validateInput?

我希望它在我模糊元素时执行" 首先"。

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);

非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

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

这一行正在使用两个参数(Validator.validateInputfirst)调用firstname。然后它将first.onblur设置为validateInput的返回值。

因此,当页面加载时Validator.validateInput正在执行,因为这就是你正在做的事情。你可能想这样做:

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