Onblur执行错误

onblur executes wrong

本文关键字:错误 执行 Onblur      更新时间:2023-09-26

我正在用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);
first.onblur = Validator.validateInput(first,firstname);

这一行所做的是用两个参数(firstfirstname)调用Validator.validateInput。然后将first.onblur设置为validateInput的返回值。

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

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