Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/05/2010, 21:20
iovan
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 17 años, 2 meses
Puntos: 188
Pequeña y sencilla duda sobre como ejecutar una funcion AJAX

Hola amigos, verán hace poco comence con la programacion en javascript, y hoy intente tambien incorporar ajax para consultar en la base de datos si existia el texto puesto en el formulario.

Todo el javascript está correcto, pero la parte en AJAX no funciona, más preciso de la linea 39 a las 55. Es donde estoy metiendo el Ajax (un código que me encontre en la web) pero estoy metiendolo en una function como si fuera js, lo cierto es que no se como funciona esto.

Me podrían ayudar.
Gracias.

Código Javascript:
Ver original
  1. <script language="javascript" type="text/javascript">
  2. function xmlhttp(){
  3.         var xmlhttp;
  4.         try{xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
  5.         catch(e){
  6.             try{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
  7.             catch(e){
  8.                 try{xmlhttp = new XMLHttpRequest();}
  9.                 catch(e){
  10.                     xmlhttp = false;
  11.                 }
  12.             }
  13.         }
  14.         if (!xmlhttp)
  15.                 return null;
  16.             else
  17.                 return xmlhttp;
  18.     }
  19.  
  20. function validar(){
  21.         var username = document.getElementById('username').value,
  22.             ajax = xmlhttp();
  23.            
  24.         //Actualizar   
  25.         function updateTips(t){
  26.            document.getElementById('validateTips').innerHTML = t;  
  27.         }
  28.        
  29.         //Validar campos de formulario
  30.         function checkEmpty(a,b){
  31.            if( a.length <= 0 ) { updateTips("Debes escribir un "+b+"."); return false; } else { return true; } 
  32.         }
  33.        
  34.         //validar caracteres alfanumericos
  35.         function checkRegexp(a,regexp,b){
  36.           if( !(regexp.test(a)) ){ updateTips("Solo se permiten caracteres alfanuméricos"); return false; } else { return true; }  
  37.         }
  38.        
  39.         //Buscar en la base de datos
  40.         function findUser(){
  41.             ajax.onreadystatechange=function(a,b){
  42.                 if(ajax.readyState==1){
  43.                         updateTips(b);
  44.                     }
  45.                 if(ajax.readyState==4){
  46.                         updateTips(ajax.responseText);
  47.                     }
  48.                 if(query.length<=0){
  49.                         updateTips(ajax.responseText);
  50.                     }
  51.             }
  52.         ajax.open("GET","checkUser.php?q="+encodeURIComponent(a),true);
  53.         ajax.send(null);
  54.         return false;
  55.         }
  56.        
  57.         var bValid = true;
  58.        
  59.         bValid = bValid && checkEmpty(username,"Nombre de usuario");
  60.         bValid = bValid && checkRegexp(username,/^[\w\,.!¿?'áéíóúÁÉÍÓÚñÑ\-@\s]+$/i,"Nombre de usuario");
  61.         bValid = bValid && findUser(username,"<img src='images/loading.gif' alg='Loading...'>");
  62.        
  63.         if(bValid) { updateTips("Todo correcto"); }
  64.     }
  65. </script>
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.

Última edición por iovan; 19/05/2010 a las 22:36 Razón: Por alguna extraña razon escribí hola en el titulo XD