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 [...]'がnullであるか、オブジェクトではありません

45:7は次の行です。

document.getElementById("StartDate"+i).value = document.getElementById("StartDate0").value;

forloopを反復処理するときに、「i」の値を「StartDate」に追加していないようです。ページに「StartDate0」と「StartDate1」があることを知っているので、それらがnullではないことを知っています。

変数とID名を持つgetElementById、getElementByIdを使用してJSPで変数を指定して要素にアクセスする方法など、私のような他のいくつかのStackOverflowの質問を調べました。しかし、どちらも成功した解決策を与えることを証明しませんでした。

どんな助けでも大歓迎です。

4

0 に答える 0