Retroceder   Foros del Web > Programación para sitios web > AJAX

Respuesta
 
Herramientas Desplegado
Antiguo 21-feb-2008, 06:37   #1 (permalink)
Fabian olmos está en el buen camino
 
Fecha de Ingreso: enero-2003
Ubicación: Caracas
Mensajes: 381
Return + Ajax

saludos a todos, haber si me pueden ayudar con este problemita que tengo. me encuentro haciendo una funcion en ajax que funciona a la perfeccion , el probelma se presenta cuando quiero retorna el valor que se trajo de mi pagina en PHP. siempre me retorna NULL y no encuentro la forma de evaluar ese valor.

aqui les adjunto la funcion y gracias de antemano.

Código PHP:
/*
    funcion utilizada para la validacion 
    de la fecha.
*/
function checkdate(){
 var 
oXHR zXmlHttp.createRequest();
 var 
dia  document.getElementById('sDia'); 
 var 
mes  document.getElementById('sMes'); 
 var 
year document.getElementById('txtYear');
 var 
url  null;
 var 
content document.getElementById('contenedor');
 
rand parseInt((Math.random()*999999999));
 
url  'inc/isvaliddate.php?d='+encodeURIComponent(dia.value)+'&m='+encodeURIComponent(mes.value)+'&a='+encodeURIComponent(year.value)+'&rand='+encodeURIComponent(rand);
 
oXHR.open('GET',url,true);
 
oXHR.onreadystatechange = function () {
     if(
oXHR.readyState == 4){
                 var 
boolean oXHR.responseXML.getElementsByTagName('boolean');
                return (
boolean[0].childNodes[0].nodeValue) ;
        }
 }
 
oXHR.send(null);

Fabian olmos está desconectado   Responder Citando
Antiguo 21-feb-2008, 10:01   #2 (permalink)
$this->role('moderador');
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ags/
Mensajes: 14.156
Re: Return + Ajax

Tu problema es que la función onreadystatechange no regresa ningún valor si no que tu debes de asignarlo a una variable, prueba este código:
Código:
var result = false;
function checkdate(){
 var oXHR = zXmlHttp.createRequest();
 var dia  = document.getElementById('sDia'); 
 var mes  = document.getElementById('sMes'); 
 var year = document.getElementById('txtYear');
 var url  = null;
 var content = document.getElementById('contenedor');
 rand = parseInt((Math.random()*999999999));
 url  = 'inc/isvaliddate.php?d='+encodeURIComponent(dia.value)+'&m='+encodeURIComponent(mes.value)+'&a='+encodeURIComponent(year.value)+'&rand='+encodeURIComponent(rand);
 oXHR.open('GET',url,true);
 oXHR.onreadystatechange = function () {
     if(oXHR.readyState == 4){
                 var boolean = oXHR.responseXML.getElementsByTagName('boolean');
                 result = (boolean[0].childNodes[0].nodeValue);
                 alert( result );
        }
 }
 oXHR.send(null);
}
Con eso podrás ver el resultado, ahora recuerda que AJAX la ventaja que tiene es que es Asyncrono, por lo que el resultado de la función lo veras hasta que el servidor regrese el resultado.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 08:43.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93