JavaScript innerHTML is not working for IE?

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

If the document is XHTML the IE will not allow the innerHTML property to be set directly. You would need to parse the responseText into DOM elements and replace the contents of the existing element with those elements.