Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/09/2012, 04:21
mandibula120
 
Fecha de Ingreso: enero-2012
Ubicación: En españa dije...
Mensajes: 28
Antigüedad: 12 años, 9 meses
Puntos: 1
Pulsar dos veces botón submit.

Hola, he hecho un formulario de login con sus validaciones y cuando pulso el boton submit, lo valida pero no hace el action del form, es decir que no va a la página de bienvenida y tengo que pulsar otra vez el botón.

Este es mi código de validación.

EDITADO: He agregado la línea 48 para comprobarlo.

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    
  3.     //Variables globales
  4.     var usr = $("#username");
  5.     var pass = $("#password");
  6.     var b_usr = false;
  7.  
  8.     //Username Check
  9.     function validateLogin(){
  10.    
  11.         usr = $("#username").val();
  12.         pass = $("#password").val();
  13.             $.ajax({  
  14.             type: "POST",  
  15.             url: "checklogin.php",  
  16.             data: "username=" + usr + "&password=" + pass,
  17.             success: function(msg){  
  18.            
  19.            $("#status").ajaxComplete(function(event, request, settings){
  20.  
  21.             if(msg == 'OK')
  22.             {
  23.                 $("#username").removeClass('object_error'); // if necessary
  24.                 $("#username").addClass("object_ok");
  25.                 $("#status").html('');
  26.                 b_usr = true;
  27.             }  
  28.             else
  29.             {  
  30.                 $("#username").removeClass('object_ok'); // if necessary
  31.                 $("#username").addClass("object_error");
  32.                 $(this).html(msg);
  33.                 b_usr = false;
  34.             }  
  35.            
  36.            });
  37.  
  38.          }
  39.            
  40.           });
  41.     }
  42.  
  43.    
  44.     //Validation on submit.
  45.     // Envio de formulario  
  46.     $("#signupForm").submit(function(){
  47.         validateLogin();
  48.           alert(b_usr);
  49.         if(b_usr){
  50.             return true;
  51.         }
  52.         else{
  53.             return false;
  54.         }
  55.     });
  56.    
  57. });

La primera vez que pulso 'b_usr' es falso, y la segunda vez que pulso verdadero (en caso de que ponga un user y password correctos claro).

¿Por qué ocurre eso?

Gracias de antemano.

Última edición por mandibula120; 14/09/2012 a las 04:33