0

我有以下根据用户选择填充 HTML 文本字段的函数。由于引用的数量可以是 1 到多个,因此我传入了它们正在更新的引用的 id。

我得到了在线错误:

var IndexOfReferenceSelect = ReferenceSelect.selectedIndex;

ReferenceSelect就是null。如何ReferenceSelect在 Firefox 中设置?我认为使用getElementById会起作用。它在 IE 中可以,但在 Firefox 中没有。

function SelectReference(ReferenceNum){
    var i;
    var ReferenceSelect = document.getElementById("Reference_" + ReferenceNum);

    var Author      = document.getElementById("Author_Last_Name_" + ReferenceNum);
    var Title       = document.getElementById("Title_" + ReferenceNum);
    var Edition     = document.getElementById("Edition_" + ReferenceNum);
    var Publisher   = document.getElementById("Publisher_" + ReferenceNum);
    var Year1       = document.getElementById("Year_" + ReferenceNum);
    var Pages       = document.getElementById("Pages_" + ReferenceNum);

    var ReferenceList = new Array(<%=strBigListOfOptionTagGroups%>);

    var IndexOfReferenceSelect = ReferenceSelect.selectedIndex;

    var IndexOfReferences = ReferenceList[IndexOfReferenceSelect].split("|");

    Author.value    = IndexOfReferences[0];
    Title.value     = IndexOfReferences[1];
    Edition.value   = IndexOfReferences[2];
    Publisher.value = IndexOfReferences[3];
    Year1.value     = IndexOfReferences[4];
    if (IndexOfReferenceSelect == 0){
        Pages.value = '';
    }
}
4

1 回答 1

0

使用document.getElementById正是这样做的方法。所以问题可能是当您试图访问该元素时,DOM 尚未正确加载;或者ReferenceNum是不正确的;或者您设置name属性而不是id: 在这种情况下,IE 有一个错误,它不会在名称或 id 之间产生差异,并且它将返回元素,遵循标准的浏览器将返回该元素null

于 2013-04-12T18:58:40.610 回答