Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Problema con la funcion response

Estas en el tema de Problema con la funcion response en el foro de Frameworks JS en Foros del Web. Hola amigos tengo un formulario de registro .. que al hacer un OnChange en el campo email llamo a una funcion AJAX que verifica si ...
  #1 (permalink)  
Antiguo 07/01/2009, 15:44
Avatar de starmark  
Fecha de Ingreso: junio-2008
Ubicación: Venezuela
Mensajes: 64
Antigüedad: 15 años, 10 meses
Puntos: 0
Problema con la funcion response

Hola amigos tengo un formulario de registro .. que al hacer un
OnChange en el campo email llamo a una funcion AJAX que verifica
si esa direccion de correo ya esta registrada .. pero me e topado con
pequeño problema;

Acá la funcion que hace verifica la informacion;

Código javascript:
Ver original
  1. function AJ_verify_email (email_id) {
  2.         var email = "mail=" + $F(email_id);
  3.         var url = 'verify_email.php?'+ email;
  4.        
  5.         http.open ('GET',url,true);
  6.         http.onreadystatechange = AJ_verify_email_response;
  7.         http.send(null);
  8.     }

y Acá la funcion que lleva el control Mientras http.readyState va cambiando;

Código javascript:
Ver original
  1. function AJ_verify_email_response () {
  2.          
  3.        switch (http.readyState) {
  4.             case 1:
  5.                 $('parrafo').innerHTML = "Cargando...";
  6.             break;
  7.            
  8.             case 4:
  9.                 if ( http.status == 200 ) {
  10.                     // Verifico segun lo devuelto del servidor si existe o no existe el correo registrado
  11.                     if (http.responseText == 0 ) {
  12.                                $('parrafo').innerHTML = "Correo válido.";
  13.                     }
  14.                         else {
  15.                             $('parrafo').innerHTML = "Correo inválido";
  16.                             return false;
  17.                         }
  18.                 }
  19.             break;         
  20.         }
  21.     }

Aqui va mi pregunta ..

Como puedo hacer para que la funcion AJ_verify_email () me
devuelva True o False segun el resultado de la funcion
AJ_verify_email_response() ?

Como pueden ver en la funcion AJ_verify_email_response ()
en la linea numero 15 si el correo es invalido devuelvo un false
a la funcion, a eso me refiero,

Necesito esto porque segun lo que me devuelva AJ_verify_email ()
sea true o false, hare otra cosa.

Eh intentado otras cuantas cosas pero no me han funcionado, para no
alargar mas este tema no las colocare ..

No se si me explique bien ..
  #2 (permalink)  
Antiguo 07/01/2009, 16:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con la funcion response

No puedes hacerlo a menos que tu petición AJAX sea sincrona, por lo que entonces el flujo de tu programa debe de ser directo en AJ_verify_email ya que cuando es sincrono no hay evento "onreadystatechange", por lo que no puedes mostrar el "cargando".

Saludos
  #3 (permalink)  
Antiguo 07/01/2009, 16:22
Avatar de starmark  
Fecha de Ingreso: junio-2008
Ubicación: Venezuela
Mensajes: 64
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con la funcion response

Cita:
Iniciado por GatorV Ver Mensaje
No puedes hacerlo a menos que tu petición AJAX sea sincrona, por lo que entonces el flujo de tu programa debe de ser directo en AJ_verify_email ya que cuando es sincrono no hay evento "onreadystatechange", por lo que no puedes mostrar el "cargando".

Saludos
U_______U

Y no hay algo similar que se pueda hacer en este caso ?
Lo que pasa esque yo valido el campo email, y si esta correctamente
escrito llamo a la funcion ajax a ver si existe, entonces necesito
saber si existe o no, y que la funcion lo de validar el correo lo sepa,
para devolver falso, porque al devolver falso, creo un nuevo elemento
que muestra el error, y si el usuario pulsa en enviar sus datos el foco se va
al campo de correo, no se si me explico ..

Es decir mientras existe ese elemento de error el form no se envia .. entonces
para crearlo necesito que la funcion "Validar" sepa si el correo es valido o no U_U

Saludos
  #4 (permalink)  
Antiguo 07/01/2009, 16:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con la funcion response

Pues declara una variable global y la pones como false de que esta invalido, todos los demas procesos los puedes hacer.

O en dado caso haz una petición sincrona, en esa si puedes devolver la información usando return.

Saludos
  #5 (permalink)  
Antiguo 07/01/2009, 17:12
Avatar de starmark  
Fecha de Ingreso: junio-2008
Ubicación: Venezuela
Mensajes: 64
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema con la funcion response

Cita:
Iniciado por GatorV Ver Mensaje
Pues declara una variable global y la pones como false de que esta invalido, todos los demas procesos los puedes hacer.

O en dado caso haz una petición sincrona, en esa si puedes devolver la información usando return.

Saludos
Muy bien gracias .. Lo intentare a ver .. saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:28.