Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2011, 08:33
MuchaDiversion
 
Fecha de Ingreso: enero-2010
Mensajes: 214
Antigüedad: 14 años, 9 meses
Puntos: 4
Función no retorna valor en la primera ejecución

Hola... Estoy haciendo un chequeo en un formulario, para saber si el usuario escrito existe o no. La parte del control funciona, con ajax se obtiene el valor "0" si el usuario ya existe... Pero al aplicarla en el formulario, con un onblur() en el campo e usuario, no me hace efecto en la primera tirada, tengo que escirbir y hacer dos clics en el campo para que la función haga efecto, ¿a qué puede deberse?

INPUT de username

Código HTML:
<input type="text" autocomplete="off" name="username" maxlength="20" class="form-content-big-input" onblur="if(validUser()=='0'){ this.style.border='1px solid red'; }else{ this.style.border='1px solid #093'; }" /> 
Función validUser()

Código Javascript:
Ver original
  1. function validUser(){
  2.       var act = new Date();
  3.       http[act] = createRequestObject();
  4.       http[act].open('post', '/inc/is_valid.php',true);
  5.       http[act].onreadystatechange = function() {
  6.       if (http[act].readyState == 4) {
  7.             if (http[act].status == 200 || http[act].status == 304) {
  8.                 reponsevalue=http[act].responseText;
  9.             }
  10.       }
  11. }
  12.     http[act].setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  13.     http[act].send("user=" + document.forms['new-user'].elements['username'].value);
  14. return reponsevalue;
  15. }
__________________
Si tienes ganas de entretenerte un poco, echa un vistazo a Blubik Entretenimiento, por ver de qué va no pasa nada xD