Добрый день, не работает innerHTML в IE. Погуглил в итоге необходимо переписать с помощью DOM -не могу до конца понять как.
Суть необходимо - из БД mySQL запросами через AJAX получать в select значения (асинхронно). В комментарии кода "строим DOM" насколько я понял не хватает каких то параметров. Если так запускать то в select выводиться вся HTML страница.
Index.html
//функция получения названия фирм из БД
function showFirm(str)
{
if (str=="")
{
document.getElementById("parts_firm").innerHTML="";
return;
}
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)
{
// строим DOM
var para = document.createElement("option");
var txt = document.createTextNode(xmlhttp.responseText);
para.appendChild(txt);
document.getElementById('parts_firm').appendChild(para);
//Через innerHTML не работает в IE
//document.getElementById("parts_firm").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","load_form_ajax.php?t="+str,true);
xmlhttp.send();
}
......
<td>Производитель:</td>
<td>
<!-- передаем в select id="parts_firm" инфо из БД, запускаем showModel() -->
<select id="parts_firm" name="firm" onchange="showModel(this.value)">
<option></option>
</select>