Javascript 代码一直在说;未捕获类型错误:无法设置属性';价值';“无效”的定义;

Javascript 代码一直在说;未捕获类型错误:无法设置属性';价值';“无效”的定义;,javascript,Javascript,我的代码不断返回相同的错误“UncaughtTypeError:无法将属性'value'设置为null”。我不知道这意味着什么,我对代码做了很多修改,试图修复它,但没有成功 var speed = prompt("1000 = Fast PC, 500 = Slow PC") function makeid() { var text = ""; var possible = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //changes depen

我的代码不断返回相同的错误“UncaughtTypeError:无法将属性'value'设置为null”。我不知道这意味着什么,我对代码做了很多修改,试图修复它,但没有成功

var speed = prompt("1000 = Fast PC, 500 = Slow PC")
function makeid() {
  var text = "";
  var possible = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";   //changes depending on code variables

  for (var i = 0; i < 14; i++)   //changes depending on code length
    text += possible.charAt(Math.floor(Math.random() * possible.length));

  return text;
}


function main() {
    document.getElementById("INPUTBOXNAME").value = makeid(); //INPUTBOXNAME is placeholder
    document.getElementById("SUBMITBUTTONNAME").click(); //SUBMITBUTTONNAME is placeholder
}

setInterval(function() {
    main();
}, speed);
var speed=提示符(“1000=快速PC,500=慢速PC”)
函数makeid(){
var text=“”;
var-mablue=“1234567890abcdefghijklmnopqrstuvxyz”//根据代码变量的不同而变化
for(var i=0;i<14;i++)//根据代码长度而变化
text+=可能的.charAt(Math.floor(Math.random()*可能的.length));
返回文本;
}
函数main(){
document.getElementById(“INPUTBOXNAME”).value=makeid();//INPUTBOXNAME是占位符
document.getElementById(“SUBMITBUTTONNAME”)。单击();//SUBMITBUTTONNAME是占位符
}
setInterval(函数(){
main();
},速度);

我真的很感谢你的帮助。感谢
文档。在本例中,getElementById(“INPUTBOXNAME”)
似乎返回
null
。因此,您可以首先检查标记是否确实包含id等于
INPUTBOXNAME
的元素。最有可能的情况是不会这样,或者会有一个打字错误


说明:此错误消息表示您正在尝试执行
null.value=something代码中的某个地方。要调试此类问题,您应该在代码中查找试图设置对象的
属性的位置,并想一想为什么该对象可能是
null
而不是预期的对象。

在脚本执行时,页面上可能不存在ID为
INPUTBOXNAME
的元素。仔细检查html中的ID是否拼写正确,如果拼写正确,请确保在元素已呈现到DOM后执行代码尝试添加条件
if
,以确保元素存在,然后再设置其值。那么,相关html代码在哪里?显然
document.getElementById(“INPUTBOXNAME”)
失败了,所以您是否有一个元素具有
id=“INPUTBOXNAME”
?代码的
INPUTBOXNAME
SUBMITBUTTONNAME
部分只是用作我放在那里的占位符。由于代码的这一部分将根据我运行代码的位置而改变,因此我只将它们放在那里以填补空白。问题是,当我放入一些东西时,前面提到的错误出现了,这就是我需要帮助的地方。很抱歉,我应该早点澄清,谢谢,但是(“INPUTBOXNAME”)和(“SUBMITBUTTONNAME”)只是占位符。因为这会随着我运行它的网站的不同而变化,所以我只是把这些名称作为占位符放进去。我不知道null.value在哪里,这意味着你没有在一个有这些ID元素的页面上运行javascript代码。这实际上是错误的根源。要使此代码正常工作,请至少创建一个“虚拟”html标记以供此脚本操作,并且不要忘记在其中添加具有这些ID的元素。一旦你这样做,你的错误就会消失。这就是我认为的问题所在,但我使用的元素是使用谷歌浏览器中的鼠标光标选择工具选择的元素。所以我想我会试试你在回复中的建议。好吧,让我知道你做了什么,以及后来是怎么做的;-)