Здравствуйте, у меня проблема с ajax запросом в IE и в OPERA. В IE8 все работает отлично, но в 6 и 7 выдается ошибка "Неизвестная ошибка выполнения". А в OPERA версии 9.23 и ниже запрос тоже не работает, работает только в версии 9.63 и выше!
Вот код :
var doc;
function vibor(sel) {
var id = sel.options[sel.selectedIndex].value;
if(window.navigator.appName=="Microsoft Internet Explorer") {
doc = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
doc = new XMLHttpRequest();
}
doc.onreadystatechange = changeOutmenu;
doc.open("GET", "ajax.php?idcat=" + encodeURIComponent(id) + "&url=" + new Date().getTime(), true);
doc.send(null);
}
function changeOutmenu() {
if (doc.readyState == 4){
document.getElementById("menu").style.visibility = "visible";
document.getElementById("menu").innerHTML = doc.responseText;
document.getElementById("load").innerHTML = "";
//alert(doc.responseText);
}
else {
document.getElementById("menu2").style.display = "none";
document.getElementById("menu").style.visibility = "hidden";
document.getElementById("load").innerHTML = "<center><img src='images/ajax-loader1.gif'></center>";
}
}
вот код откуда должна вызываться функция
<label for="category">Category:<em>*</em></label>
<select id="category" name="category" onchange='vibor(this)'>
<?
$qv=mysql_query("SELECT * FROM menu WHERE idcat=1");
while($row=mysql_fetch_array($qv)) {
echo("<option id='$row[0]' value='$row[0]'>$row[namemenu]</option>");
}
?>
</select>
</li>
<li>
<label for="menu2">Sub-category:<em>*</em></label>
<select name="menu" id="menu2">
<?
$qv=mysql_query("SELECT * FROM podmenu WHERE idmenu=29");
while($row=mysql_fetch_array($qv)) {
echo("<option id='$row[0]' value='$row[0]'>$row[name]</option>");
}
?>
</select>
<span id="menu"></span><span id="load"></span>
</li>
И код ajax.php
if (isset($_GET['idcat'])) {
$qv=mysql_query("SELECT * FROM podmenu WHERE idmenu=$_GET[idcat]");
echo("<select name='menu'>");
while ($row=mysql_fetch_array($qv)) {
echo("<option value='$row[0]'>$row[name]</option>");
}
echo("</select>");
}