Javascript 在用户定义的变量上获取selectedIndex-适用于IE而不是Firefox
我有以下函数,根据用户选择填充HTML文本字段。由于引用的数量可以是1对多,因此我传入了它们正在更新的引用的id 我在这行中得到了错误: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
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: