Galera, sou novo aqui no site e estou com um problema. O meu combo que fiz em ajax não está funcionando no IE (nenhuma versão), já funciona no FF, Netscape e até no Konkeror... antes que alguém pergunte... no firebug o que aparece como erro é isso aqui... req = new ActiveXObject("Microsoft.XMLHTTP"); ------ ActiveXObject is not defined
req = new ActiveXObject("Msxml2.XMLHTTP"); ------ ActiveXObject is not defined
este é o script que vem no topo da página...
<script type="text/javascript">
function ajaxInit() {
var req;
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(ex) {
try {
req = new XMLHttpRequest();
} catch(exc) {
alert("Esse browser não tem recursos para uso do Ajax");
req = null;
}
}
}
return req;
}
function verifica(name, resposta, url) {
valIni = document.getElementById(name).value;
var div = document.getElementById(resposta);
var url = url + "?" + name + "=" + valIni;
ajax = ajaxInit();
if(ajax) {
ajax.open("GET", url, true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1){
div.innerHTML = "<img src=\'images/ajax-loader.gif\' />";
}
if(ajax.readyState == 4) {
div.innerHTML = ajax.responseText;
}
}
ajax.send(null);
}
}
</script>
aqui é o trecho onde faço o combo...
echo' <select name="estado" id="estado" onChange="verifica(\'estado\',\'cidade_anuncio\',\'scriptAjax.php\');">';
echo" <option value='' selected='selected'> </option>";
$verestado = mysql_query("SELECT * FROM tbestados") or die("Não foi possível acessar os dados");
while($linha=mysql_fetch_array($verestado)){
$estado = $linha["nome"];
echo' <option value="'.htmlentities($estado).'">'.htmlentities($estado).'</option>';
}
echo" </select>";
echo" <label>Cidade:</label>";
echo' <select name="cidade_anuncio" id="cidade_anuncio">';
echo" </select>";
e esta parte é a página onde faz a solicitação e retorna ao div.
if(isset($_GET['estado'])){
$estado = $_GET['estado'];
$verestado = mysql_query("SELECT * FROM tbestados WHERE nome = '$estado'") or die ("Não foi possível localizar o estado");
while($linha=mysql_fetch_array($verestado)){
$idestado = $linha["id"];
$vercidades = mysql_query("SELECT * FROM tbcidades WHERE id_uf = '$idestado'") or die ("Não foi possível localizar a cidade");
while($row = mysql_fetch_array($vercidades)){
$cidade = $row["nome"];
echo '<option value="'.htmlentities($cidade).'">'.htmlentities($cidade).'</option>';
}
}
} bom... já procurei em vários lugares... não consigo arrumar o problema... e tem outra coisa... se alguém puder me ajudar... no localhost funciona perfeitamente no FF e nos outros navegadores... só que no servidor quando seleciono um estado com acentuação ele não funciona... já verifiquei o banco de dados para ver se havia algo diferente entre o local e o remoto e não encontrei nada... Guto Luís