我有以下功能,根据用户选择填充HTML文本字段。由于引用的数量可以是1到多,我传入它们正在更新的引用的id。
我收到了错误:
var IndexOfReferenceSelect = ReferenceSelect.selectedIndex;
ReferenceSelect
是null
。如何在Firefox中设置ReferenceSelect
?我认为使用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 = '';
}
}
答案 0 :(得分:0)
使用document.getElementById
正是这样做的。所以问题可能是当你想要访问元素时,DOM还没有正确加载;或者ReferenceNum
不合适;或者您设置name
属性而不是id
:在这种情况下,IE有一个不会在名称或ID之间产生差异的错误,它将返回元素,其中的浏览器跟随标准将返回null
。