Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/10/2008, 15:00
Avatar de pabloe9k
pabloe9k
 
Fecha de Ingreso: julio-2008
Ubicación: Argentina
Mensajes: 190
Antigüedad: 16 años, 5 meses
Puntos: 3
Pregunta AJAX que funciona en Firefox y no en IExplorer ¿?

Gente, buenas a todos.
Tengo un problemita.
Hice una paginita en la que si tildo un checkbox le cambia la propiedad "visibility" a un "div" y pasa a mostrar un combo que tengo en el archivo "combo.php". Todo sin recargar la página.
El problema es que me funciona en Firefox pero no en Internet Explorer.
Alguien me podría marcar el error que no estoy viendo, por favor?
Dejo el código.
Muchas gracias!!


Código:
<script>

   function startAjax()
   {
   	  if(window.XMLHttpRequest)  //se utiliza para firefox o safari.
   	  {
   	  	 variable=new window.XMLHttpRequest();   
   	  }
   	  
   	  else if(window.ActiveXObject)   //se utiliza para iexplorer.
   	  {
   	  	 variable=new windows.ActiveXObject("Microsoft.XMLHTTP");
   	  }
   	  
   	  else
   	  {
	     alert("Este navegador no soporta AJAX");		
	  }
	  
	  
   variable.open("GET", "combo.php");
   
   variable.onreadystatechange=respuesta;      //'respuesta' es el nombre de una función mia.
   
   variable.send(null);
   
   }
   
   
   function respuesta()  //respuesta la usé yo en lugar de CALLBACK
   {
   	  if(variable.readyState==4)   //estado '4' significa que está lista la respuesta del sevidor.
   	  {
   	  	 if(variable.status==200)  //estado '200' significa que la respuesta está OK.
   	  	 {
   	  	 	x=document.getElementById("miDiv");
   	  	 	x.innerHTML=variable.responseText;
		 }
   	  }
   	  
   }

   
   function mostrarCombo()
   {
      variable2=document.getElementById("miDiv");	  
	  
	  if(variable2.style.visibility=="hidden")
	  {
   	     variable2.style.visibility="visible";
   	     startAjax();
   	  }
   	  
   	  else
   	  {
   	     variable2.style.visibility="hidden";
   	     startAjax();
   	  }
   }
   
   
</script>


<body>

<input type="checkbox" onchange="mostrarCombo()">
<div id="miDiv" style="visibility:hidden"></div>