Сосредоточиться на поле ввода, когда его фокус потерян

Я делаю встроенную проверку полей ввода формы. Это моя проверяющая функция:

function checkResult(input){
    var result = Number(input.value);
    if(result < 0 || result > 100){
        alert('Invalid!');
        input.focus();
    }
}

Я хочу сосредоточиться на вводе (который потерял фокус), если он недействителен. Эта функция не работает. Это говорит, что это Invalid, но не фокусируется на этом.

Я установил поле ввода onchange событие в checkResut:

<input type="text" name="tel" id="tel" onchange="javascript:checkResult(this);">

1 ответ

Решение

Установите небольшое время для фокусировки, и оно будет работать:

setTimeout(function() {
    input.focus();
}, 100);

ДЕМО: http://jsfiddle.net/q62m3/

Другие вопросы по тегам