2

我正在尝试使多个文本输入字段共享一个值。文本字段命名为 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 中提供变量来访问元素?但事实证明两者都没有给出成功的解决方案。

给予的任何帮助将不胜感激。

4

0 回答 0