Javascript 在用户定义的变量上获取selectedIndex-适用于IE而不是Firefox

Javascript 在用户定义的变量上获取selectedIndex-适用于IE而不是Firefox,javascript,firefox,selectedindex,Javascript,Firefox,Selectedindex,我有以下函数,根据用户选择填充HTML文本字段。由于引用的数量可以是1对多,因此我传入了它们正在更新的引用的id 我在这行中得到了错误: var IndexOfReferenceSelect = ReferenceSelect.selectedIndex; ReferenceSelect为null。如何在Firefox中设置ReferenceSelect?我认为使用getElementById可以工作。它在IE中有,但在Firefox中没有 function SelectReference(R

我有以下函数,根据用户选择填充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 = '';
    }
}
函数SelectReference(ReferenceNum){
var i;
var ReferenceSelect=document.getElementById(“Reference_u2;”+ReferenceNum);
var Author=document.getElementById(“Author\u Last\u Name\u”+ReferenceNum);
var Title=document.getElementById(“Title_u3;”+ReferenceNum);
var Edition=document.getElementById(“Edition”+ReferenceNum);
var Publisher=document.getElementById(“Publisher_u3;”+ReferenceNum);
var Year1=document.getElementById(“年”+ReferenceNum);
var Pages=document.getElementById(“Pages_216;”+ReferenceNum);
var ReferenceList=新数组();
var IndexOfReferenceSelect=ReferenceSelect.selectedIndex;
var IndexOfReferences=ReferenceList[IndexOfReferenceSelect]。拆分(“|”);
Author.value=索引引用[0];
Title.value=索引引用[1];
Edition.value=索引引用[2];
Publisher.value=索引引用[3];
Year1.value=索引引用[4];
if(IndexOfReferenceSelect==0){
Pages.value='';
}
}

使用
document.getElementById
就是这样做的。因此,问题可能是当您尝试访问元素时,DOM尚未正确加载;或者
ReferenceNum
未正确使用;或者您设置了
name
属性而不是
id
:在这种情况下,IE有一个在name或id之间没有区别的bug,它将返回元素,其中遵循标准的浏览器将返回
null

由于document.getElementById适用于所有浏览器,因此您确定在调用SelectReference时正确传递了ReferenceNum。这是传递ReferenceNum的HTML: