онблур выполняется неправильно - PullRequest
0 голосов
/ 08 декабря 2011

Я делаю проверку HTML-формы с помощью JavaScript.Почему Validator.validateInput выполняется, когда я обновляю страницу?

Я хочу, чтобы она выполнялась, когда я размываю элемент " first ".

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 Ответ

2 голосов
/ 08 декабря 2011
first.onblur = Validator.validateInput(first,firstname);

То, что делает эта строка, вызывает Validator.validateInput с двумя параметрами (first и firstname).Затем он устанавливает first.onblur на возвращаемое значение validateInput.

Итак, Validator.validateInput выполняется при загрузке страницы, потому что это то, что вы делаете.Вы, вероятно, хотите сделать это так:

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