Comunidad de diseño web y desarrollo en internet online

Error con AJAX en IE

Citar            
MensajeEscrito el 29 Sep 2007 06:13 pm
Hola a todos! Mi problema es este, hice un ejemplo de conexion a una bd informix con php utilizando ajax, este es una lista la cual despliega unas claves y al seleccionar una de ellas hace una consulta a la bd y despliega el nombre perteneciente a dicha clave. Todo funciono bien utilizando el navegador FireFox pero oh sorpresa!!!! Cuando intente usarlo en IE no funcionó. Selecciono la clave de la lista pero no despliega nada ni marca ningun error del javascript. Ya le busque por todos lados tratando de encontrar el error y no logré nada. Anexo el codigo por si alguien encuentra cual es mi error. Lo que se es que no todas las funciones de javascript se pueden utilizar en todos los navegadores asi como la conexion de ajax varia al crear el objeto, ya lo cheque y todo parece estar en orden. Mi teoría es que la funcion que envia el valor seleccionado de la lista en el evento onchange() no sea compatible con IE pero ya no se que mas hacerle. De antemano agradezco cualquier sugerencia! Gracias!

Este es el codigo de busquedas.php :

var XMLHttpRequestObject = false;
if(window.XMLHttpRequest){
XMLHttpRequestObject = new XMLHttpRequest();
} else if(window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function getData(dataSource, div)
{
if(XMLHttpRequestObject)
{
var obj = document.getElementById(div);
XMLHttpRequestObject.open("GET", dataSource);

XMLHttpRequestObject.onreadystatechange = function()
{
if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
{
obj.innerHTML= XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}

</script>
</head>

<body>
<h1>Ejemplo de Busqueda INFORMIX + AJAX + PHP</h1>
<form name="forma">
<select name="combo" id="combo" onChange="getData('search.php?clv=' + document.getElementById('combo').options[document.getElementById('combo').selectedIndex].value, 'targetDiv')">
<option>Seleccione una clave</option>
<option><?php include("consultas.php");?></option>
</select>
</form>
<br></br>
<div id="targetDiv">Aqui se mostrara el nombre de la colonia seleccionanada</div>
</body>

Este el de consultas.php :

<?php
$db = "bd@server"; // BD y Server a donde se conectara
$user = "user"; //usuario de la bd
$pw = "passwd"; // password

$conn = ifx_connect($db, $user, $pw); //Se realiza la conexion
if(!$conn)
{
echo "Hubo un error al conectarse al servidor";
exit();
}


$qry= "select * from colonia order by clave_colonia asc";
$consulta = ifx_query($qry, $conn);
if($consulta)
{
while($r = ifx_fetch_row($consulta))
{
$clv = $r["clave_colonia"];
echo"<option>$clv</option>";
}
}


?>

Y este otro el de search.php :

<?php
$clv= $_GET['clv'];
if(empty($clv) || !is_numeric($clv))
exit();
$db = "bd@server"; // BD y Server a donde se conectara
$user = "user"; //usuario de la bd
$pw = "passwd"; // password

$conn = ifx_connect($db, $user, $pw); //Se realiza la conexion
if(!$conn)
{
echo "Hubo un error al conectarse al servidor";
exit();
}


$qry= "select * from colonia where clave_colonia=$clv";
$search = ifx_query($qry, $conn);
if($search)
{
$r= ifx_fetch_row($search);
echo $clv= $r["nombre"];
}
else
exit();

?>

Por chaires

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 01 Oct 2007 10:51 pm
creo que el problema es por el lado de la funcion que recoge el valor del select que eligió el usuario, yo utilicé esta:

document.getElementById('combo').options[document.getElementById('combo').selectedIndex].value

no se si sea valida esa funcion para IE porque la verdad ya no se ni por donde moverle. Cualquier sugerencia es bienvenida!!! Nota: en FireFox funciona el codigo sin ningun problema, la bronca es con IE.

Por chaires

1 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.