继续获取Uncaught TypeError:非法调用?

问题描述 投票:0回答:2

如果文本框为空,我在尝试禁用按钮时在谷歌浏览器控制台中出现此错误:

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();

我在这做错了什么?

javascript jquery google-chrome
2个回答
1
投票

getElementById需要document的调用上下文。使用.bindr绑定到document

var r = document.getElementById.bind(document);

0
投票

你可以用r = document.getElementById替换r = x => document.getElementById(x)

© www.soinside.com 2019 - 2024. All rights reserved.