nikel_haker
@nikel_haker
junior web dev

Uncaught TypeError: Cannot set property 'onblur' of null?

<input id="usna" class="area" size="20" type="text" placeholder="Nickname">

unns = document.getElementById("usna");
unns.onblur = function() {
    if ((this.value.length < 4) || (this.value.length > 20)) {
        this.setCustomValidity("Длина никнейма должна быть от 4 до 20 символов");
        this.className = "err area";
    } else {
        // Длина комментария отвечает требованию,
		    // поэтому очищаем сообщение об ошибке
        this.className = "area";
		    this.setCustomValidity("");
    }
};

Скажите, прошу, почему возникает ошибка указанная в описании?
Однако исчезает, если весь js код ввести прямо в консоль. То есть при загрузке сайта всё плохо (при том что на сайте этот js код единственный), а когда вводишь в консоль всё нормально.
  • Вопрос задан
  • 22 просмотра
Решения вопроса 1
MiXei4
@MiXei4
Скрипт выполняется до того, как input появится в документе. Надо скрипт перенести вниз документа или дождаться загрузки dom.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
NWCode Санкт-Петербург
от 110 000 руб.
Digital Sharks Казань
от 60 000 до 65 000 руб.
MedPoint24 Москва
от 100 000 руб.
14 нояб. 2018, в 07:05
700 руб./в час
14 нояб. 2018, в 06:24
100 руб./за проект
14 нояб. 2018, в 04:16
5000 руб./за проект