Продолжайте получать Uncaught TypeError: незаконный вызов? - PullRequest
0 голосов
/ 31 марта 2019

Я получаю эту ошибку в консоли Google Chrome при попытке отключить кнопку, если текстовые поля пусты:

function isEmpty() {
  var r = document.getElementById;
  if (r("box1").value.length >= 1 && r("box2").value.length >= 1 && r("box3").value.length >= 1 && r("box4").value.length >= 2 && r("box5").value.length >= 2 && r("box6").value.length >= 3 && r("box7").value.length >= 1)
    r('#add').disabled = false
  else
    r('#add').disabled = true
  setTimeout(isEmpty, 250)
}
isEmpty();

Что я здесь не так делаю?

Ответы [ 2 ]

1 голос
/ 31 марта 2019

getElementById требует контекст вызова document.Используйте .bind для привязки r к document:

var r = document.getElementById.bind(document);
0 голосов
/ 31 марта 2019

Вы можете заменить r = document.getElementById на r = x => document.getElementById(x).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...