Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Footbr

Problemas com o AJAX+IE6

Recommended Posts

Boa tarde, estou com um problema em um script que preenche um combo box através do ajax. Ele funciona bem no FF e Opera, mas não funciona no IE6. Alguém pode me ajudar?

 

Aqui vai o código:

[sub]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript" src="ajaxInit.js"></script>
<script type="text/javascript">
  function selecionaCidade(estado) {
	ajax = ajaxInit();
	  if (ajax) {
		ajax.onreadystatechange = escreveCidades;
		url = "cidades.php?estado="+estado;
		ajax.open("GET",url,true);
		ajax.send(null);
	 }
  }
  
  function escreveCidades() {
   if(ajax.readyState == 4) {
	 if(ajax.status == 200) {
	   document.getElementById("cidade").innerHTML = ajax.responseText;
	 }
   }
  }
 </script>
</head>
<?php
  mysql_connect('localhost','root','') or die (mysql_error());
  mysql_select_db('ajax');
  
  $query = mysql_query('SELECT * FROM estados') or die (mysql_error());
?>
<body>
  <form name="selecioneCidade">
   <label for="estado" accesskey="e"><u>E</u>stado :</label>
   <select name="estado" id="estado" onchange="selecionaCidade(this.options[this.selectedIndex].value)">
	<option value="">Escolhao estado</option>
<?php while ($linha=mysql_fetch_array($query)) { ?>	 
	 <option value="<?php echo $linha['id_uf']; ?>"><?php echo $linha['desc_uf']; ?></option>
<?php } ?> 
   </select><br />
   
   <label for="cidade" accesskey="c"><u>C</u>idade :</label>
   
   <select name="cidade" id="cidade">
	<option value="">Escolha um estado</option>
   </select>
  </form>
</body>
</html>
[/sub]

a página que o ajax chama é um script php onde o conteudo retornado é apenas os <option></option> necessários para preencher a combo de cidades.

Compartilhar este post


Link para o post
Compartilhar em outros sites

da um alert na variavel ajax..verifique se está vendo null ou undefined..isso no ie

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas dá algum erro ou simplesmente não funciona ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

da um alert na variavel ajax..verifique se está vendo null ou undefined..isso no ie

 

t+

Oi Otata, me parece que retorna undefined pois o alert fica vazio.

Fiz assim o alert:

alert('Valor de ajax: '+ajax+'!!');

E ele retorna:

"Valor de ajax:!!"

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Footbr, então o problema esta no arquivo ajaxInit.js

seria possívelvocê postar o código deste arquivo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Footbr, então o problema esta no arquivo ajaxInit.js

seria possívelvocê postar o código deste arquivo?

Claro... aqui está:

// JavaScript Document
function ajaxInit() {
  var xmlhttp;
  
  try {
	xmlhttp = new XMLHttpRequest();
  } catch (ee) {
	try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	  try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch(E) {
		  xmlhttp = false;
		}
	}
  }
  return xmlhttp;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

você fez o alert para verificação da resposta ajax INCORRETAMENTE.

 

faça assim;

alert("Resposta: " + ajax.responseText);

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.