Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/12/2011, 13:13
ShadowRock
 
Fecha de Ingreso: noviembre-2011
Mensajes: 11
Antigüedad: 13 años
Puntos: 0
Respuesta: Inabilitar/Habilitar submit mediante ajax , y error ajax

Cita:
Iniciado por maycolalvarez Ver Mensaje
falta verificar ajax.status == 200, consulte un manual de AJAX.

PD: es el error más común en novatos de ésta técnica

2 - muchas veces, desde el server se envían caracteres invisibles, complicando comparar del lado del cliente, puede usar funciones equivalentes a trim() o en su caso parseInt(ajax.responseText)
Sigo en la misma.
Código Javascript:
Ver original
  1. function Comparar(){
  2.    
  3.     /* Variable ajax */
  4.     var ajax = new XMLHttpRequest();
  5.    
  6.     /* Valor del input */
  7.     var Valor = document.getElementById('Usuario').value;
  8.  
  9.     /* Estados */
  10.     ajax.onreadystatechange = function(){
  11.        
  12.         /* Si se esta prosesando */
  13.         if(ajax.readyState==1 || ajax.readyState==2 || ajax.readyState==3){
  14.             document.getElementById('Estado').innerHTML='Se esta determinando la validacion...';}
  15.            
  16.         /* Si ya termino de cargar */  
  17.         if(ajax.readyState==4 && ajax.status==200){
  18.            
  19.             /* Si el usuario esta disponible */
  20.             if(parseInt(ajax.responseText)==0){
  21.                 document.getElementById('Estado').innerHTML='El Usuario esta disponible';
  22.                 document.getElementById('Envio').disabled = false;
  23.                 }
  24.            
  25.             /* Si el usuario esta usandose */  
  26.             if(parseInt(ajax.responseText)==1){
  27.                 document.getElementById('Estado').innerHTML='El Usuario esta en uso';
  28.                 document.getElementById('Envio').disabled = true;
  29.                 }
  30.         }
  31.     }
  32.    
  33.         /* Abriendo Pagina */
  34.         ajax.open("POST","Verificar.php?Usuario"+Valor,true);
  35.         ajax.send(null);
  36. }