Javascript - 对象引用返回null,即使它是shoudn&#t; t

时间:2018-05-30 17:15:00

标签: javascript dom null

我有这个:

var strBox = document.getElementById("txtSTR");
var strModBox = document.getElementById("txtSTRMod");
var refBox = document.getElementById("txtREF");
var refModBox = document.getElementById("txtREFMod");
var fortBox = document.getElementById("txtFOR");
var forModBox = document.getElementById("txtFORMod");
var intBox = document.getElementById("txtINT");
var intModBox = document.getElementById("txtINTMod");

这些变量都指向我的HTML文档中的文本框(只读)。

他们依赖于使用以下数组填充.value:

//0-STR, 1-REF, 2-FOR, 3-INT, 4-JUD, 5-CHA, 6-WIL, 7-TOU
var charAttsAR = ["8","8","8","8","8","8","8","8"];

它们使用名为popDefDat()的函数手动填充相关的数组条目,如下所示:

strBox.value = charAttsAR[0];
strModBox.value = modSetter(charAttsAR[0]);

refBox.value = charAttsAR[1];
refModBox.value = modSetter(charAttsAR[1]);

fortBox.value = charAttsAR[2];
forModBox.value = modSetter(charAttsAR[2]);

intBox.value = charAttsAR[3];
intModBox.value = modSetter(charAttsAR[3]);

....等等

我的问题是strBox,strModBox,refBox和refModBox都初始化了他们的数据。然而,在fortBox,它会抛出" fortBox为null"而且我不知道为什么。代码是完全相同的,我在我的标签结束之前加载了我的脚本,我也有:

//initialise default data when page loads
window.onload = popDefDat()

老实说,我被困住了。任何建议表示赞赏。

这里也是html:

<form id="form3" name="form3" method="post" onsubmit="return false" action="">    
<p><label></label>&nbsp;
<label for="lblHeadATT"></label>

<input name="lblHeadATT" type="text" disabled="disabled" id="lblHeadATT" value="Points" readonly="readonly" />

<label for="lbHeadMOD"></label>

<input name="lbHeadMOD" type="text" disabled="disabled" id="lbHeadMOD" value="Mod" readonly="readonly" />

<label for="txtPointBuy"></label>

<input name="txtPointBuy" type="text" id="txtPointBuy" readonly="readonly" />

<p>Strength: 
<label for="txtSTR"></label>
<input name="txtSTR" type="text" id="txtSTR" readonly="readonly" />
<label for="txtSTRMod"></label>
<input name="txtSTRMod" type="text" id="txtSTRMod" readonly="readonly" /> 

<input type="button" name="Btn_StrMinus" id="Btn_StrMinus" value="-" onclick="FNCstrSub()" />

<input type="button" name="Btn_StrPlus" id="Btn_StrPlus" value="+" onclick="FNCstrPlus()"/>

<p>Reflex:
<label for="txtREF"></label>
<input name="txtREF" type="text" id="txtREF" readonly="readonly" />
<label for="txtREFMod"></label>
<input name="txtREFMod" type="text" id="txtREFMod" readonly="readonly" />

<input type="button" name="Btn_RefMinus" id="Btn_RefMinus" value="-" onclick="FNCrefSub()" />

<input type="button" name="Btn_RefPlus" id="Btn_RefPlus" value="+" onclick="FNCrefPlus()"/>

<p>Fortitude: 
<label for="txtREF"></label>
<input name="txtFOR" type="text" id="txtREF" readonly="readonly" />
<label for="txtFORMod"></label>
<input name="txtFORMod" type="text" id="txtFORMod" readonly="readonly" />
<input type="button" name="Btn_ForMinus" id="Btn_ForMinus" value="-" onclick="FNCforSub()" />
<input type="button" name="Btn_ForPlus" id="Btn_ForPlus" value="+" onclick="FNCforPlus()"/>
</p>

<p>Intellect: 
<label for="txtINT"></label>
<input name="txtINT" type="text" id="txtINT" readonly="readonly" />
<label for="txtINTMod"></label>
<input name="txtINTMod" type="text" id="txtINTMod" readonly="readonly" />
<input type="submit" name="Btn_IntMinus" id="Btn_IntMinus" value="-" onclick="FNCintSub()"/>
<input type="submit" name="Btn_IntPlus" id="Btn_IntPlus" value="+"onclick="FNCintPlus()" />

我还没有为其他文本框和按钮编写标签,因为我希望在继续之前解决这个问题。

由于

0 个答案:

没有答案