user1045373 user1045373 - 4 months ago 20
HTML Question

JavaScript innerHTML is not working for 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();

Answer

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);
Comments