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>
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...
Pergunta
Guto Luís
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 definedeste é 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
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.