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 код единственный), а когда вводишь в консоль всё нормально.
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
MiXei4
@MiXei4
Скрипт выполняется до того, как input появится в документе. Надо скрипт перенести вниз документа или дождаться загрузки dom.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
21 мая 2019, в 21:31
1000 руб./за проект
21 мая 2019, в 21:19
25000 руб./за проект
21 мая 2019, в 20:10
5000 руб./за проект