我正在尝试使多个文本输入字段共享一个值。文本字段命名为 StartDate#,其中 # 替换为数字。我正在尝试使用以下代码:
function SetTimeFrame(element) {
if (document.Labs.SameDate.checked==true) {
var Elements=document.Labs.elements.length;
for (var i=0; i<Elements; i++) {
if (document.Labs.elements[i].type=='select-one') {
document.Labs.elements[i].options[element.selectedIndex].selected=true;
document.getElementById("StartDate"+i).value = document.getElementById("StartDate0").value;
}
}
}
}
当我使用此代码时,我收到以下错误:
位置 (45:7) 的 Javascript 错误:'document.getElementById[...]' 为空或不是对象
45:7 是这条线:
document.getElementById("StartDate"+i).value = document.getElementById("StartDate0").value;
似乎它没有将“i”的值附加到“StartDate”,因为它迭代了forloop。我知道页面中有“StartDate0”和“StartDate1”,所以我知道它们不为空。
我查看了其他几个与我类似的 Stack Overflow 问题,例如getElementById with a variable plus an id name,以及如何通过使用 getElementById 在 JSP 中提供变量来访问元素?但事实证明两者都没有给出成功的解决方案。
给予的任何帮助将不胜感激。