假设我有10个文本框要输入一些文本 其中之一类似于以下内容
<td class="dedefault">
<input type="hidden" name="RSTS_IN" value="RW">
<label for="box_id1"><span class="fieldlabeltextinvisible">BOX</span></label>
<input type="text" name="ID_IN" size="6" maxlength="5" id="box_id1">
</td>
箱子的唯一变化是箱子编号 所以我想在“ box [i]”中输入一些文本
var x,i;
for (i=1; i<10; i++) {
x = box_id[i];
document.getElementById(x).value = "12345";
}
但是它不起作用。如何调整代码?
答案 0 :(得分:0)
您没有定义任何box_id
。
据您所知,您正在尝试制作box_id(some number)
您需要构建可以使用string literal
或简单的string concatenation
进行操作的字符串。
var x,i;
for (i=1; i<10; i++) {
x = `box_id${i}`;
let ele = document.getElementById(x);
if(ele) ele.value = "12345";
}
<td class="dedefault">
<input type="hidden" name="RSTS_IN" value="RW">
<label for="box_id1"><span class="fieldlabeltextinvisible">BOX</span></label>
<input type="text" name="ID_IN" size="6" maxlength="5" id="box_id1">
<input type="hidden" name="assoc_term_in" value="">
<input type="hidden" name="start_date_in" value="">
<input type="hidden" name="end_date_in" value="">
</td>
答案 1 :(得分:0)
box_id不是数组。使其成为字符串,然后将i附加到字符串上。
for (i=1; i<=10; i++) {
document.getElementById('box_id'+i).value = "12345";
}
<td class="dedefault">
<input type="hidden" name="RSTS_IN" value="RW">
<label for="box_id1"><span class="fieldlabeltextinvisible">BOX</span></label>
<input type="text" name="ID_IN" size="6" maxlength="5" id="box_id1"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id2"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id3"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id4"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id5"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id6"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id7"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id8"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id9"/><input type="text" name="ID_IN" size="6" maxlength="5" id="box_id10"/>
</td>