Estoy desarrollando una aplicación con Struts y Ajax y tengo problemas.
Por ejemplo estoy haciendo que cuando digiten el ID del Empleado vaya a consultar el Nombre del mismo por medio de AJAX. En Internet Explorer funciona de maravilla, pero a la hora de ejecutarlo en Firefox u Opera no funciona.
He puesto alerts para ver hasta donde llega y no se va al onreadystatechange, osea hasta el alert("Paso 4"). La petición al jsp funciona correctamente.
Si alguien me haría el favor de ayudarme, porque ya no se que hacer, llevo varios días en esto y nada.
A continuación les dejo el código
Código PHP:
Ver original
<script type="text/javascript" language="javascript"> var ajax; <%-- Este Script Valida que la Siembra esté activa. --%> function funcionCallback() { // Comprobamos si la peticion se ha completado (estado 4) //alert("Paso 5"); if( ajax.readyState == 4 ) { //alert("Paso 6"); // Comprobamos si la respuesta ha sido correcta (resultado HTTP 200) if( ajax.status == 200 ) { alert("Paso 7"); // Escribimos el resultado en la pagina HTML mediante DHTML //document.all.PRUEBA.innerHTML = "<b>"+ajax.responseText+"</b>"; $('USPNAM').value = ajax.responseText; //document.getElementByName("USPNAM").value = ajax.responseText; alert("Paso 8"); } } } function validarFolio() { // Creamos el control XMLHttpRequest segun el navegador en el que estemos var xmlhttp=false; try { xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); //alert("Paso 1"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //alert("Paso 1.1"); } catch (E) { xmlhttp = false; //alert("Paso 1.2"); } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); //alert("Paso 1.3"); } // Almacenamos en el control al funcion que se invocara cuando la peticion // cambie de estado ajax = xmlhttp; ajax.onreadystatechange = funcionCallback; //alert("Paso 2"); // Enviamos la peticion //alert("Paso 3"); ajax.open("POST", "validaFolio.jsp", false); ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1'); ajax.send("EMPNUM="+document.all.USPFOL.value); //alert("Paso 4"); } </script> </html>