JavaScript innerHTML 不适用于 IE?

2022-01-15 00:00:00 xmlhttprequest javascript html

我正在使用 ajax 调用为我的下拉列表带来列表并将其分配给 html,适用于 mozilla nad crome 但对于 IE,它显示一个空白下拉列表

I am using ajax call for to bring the list for my drop down and assign it to html,works fine for mozilla nad crome but for IE it displays a blank dropdown

var xmlhttp;

var strURL = "selectedu.php?selectward="+selectward;

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        if(xmlhttp.responseText=="NOER")
        {
            alert("Select ER Type");
        }
        else
        {
            document.getElementById(id).innerHTML=xmlhttp.responseText;
        }   
    }
}
xmlhttp.open("GET",strURL,true);
xmlhttp.send();

推荐答案

innerHTML属性在IE中尝试添加或更新表单元素时出现问题,解决方法是创建一个div并设置附加到 DOM 之前的 innerHtml 属性:

The innerHTML property has some problems in IE when trying to add or update form elements, the workaround is to create a div and set the innerHtml property on that before appending to the DOM:

var newdiv = document.createElement("div");
newdiv.innerHTML = xmlhttp.responseText;
var container = document.getElementById(id);
container.appendChild(newdiv);

相关文章