Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Formulario con validación javascript se envía aunque se valide

Estas en el tema de Formulario con validación javascript se envía aunque se valide en el foro de Jquery en Foros del Web. Hola, estoy validando un formulario con el jQuery Validation Plugin y si me valida, el formulario lo envió a una función mediante onsubmit(), el problema ...
  #1 (permalink)  
Antiguo 11/11/2014, 10:34
 
Fecha de Ingreso: febrero-2014
Mensajes: 69
Antigüedad: 10 años, 2 meses
Puntos: 0
Formulario con validación javascript se envía aunque se valide

Hola, estoy validando un formulario con el jQuery Validation Plugin y si me valida, el formulario lo envió a una función mediante onsubmit(), el problema es que a pesar de ser validado siempre se me envía con el onsubmit.

este es el código de la validación:
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     $(function(){
  3.       $('#login').validate({
  4.         rules :
  5.         {
  6.          
  7.           CARNET :
  8.           {
  9.             required : true,
  10.             minlength : 8,
  11.             maxlength : 8
  12.           },
  13.  
  14.           CONTRASENA :
  15.           {
  16.             required : true,
  17.             minlength : 5,
  18.             maxlength : 10
  19.           }
  20.         },
  21.  
  22.         messages :
  23.         {
  24.  
  25.           CARNET :
  26.           {
  27.             required : "Debe ingresar su Carnet.",
  28.             minlength : "El Carnet debe tener 8 caracteres.",
  29.             maxlength : "El Carnet debe tener 8 caracteres."
  30.           },
  31.  
  32.           CONTRASENA :
  33.           {
  34.             required : "Debe ingresar su contraseña.",
  35.             minlength : "La contraseña debe tener un minimo de 5 caracteres.",
  36.             maxlength : "La maximo debe tener un minimo de 10 caracteres."
  37.           }
  38.         }
  39.       });
  40.     });
  41. </script>

Este es el código de mi formulario:
Código HTML:
Ver original
  1. <form id="login" role="form" onSubmit="iniciarSesion(); return false">
  2.                          
  3.                             <div class="form-group">
  4.                                 <input class="form-control input-lg" placeholder="Carnet" type="text" name="CARNET" id="CARNET" required>
  5.                             </div>
  6.                             <div class="form-group">
  7.                                 <input class="form-control input-lg" placeholder="Contraseña" type="password" name="CONTRASENA" id="CONTRASENA" required>
  8.                             </div>
  9.                             <div class="form-group">
  10.                                 <button type="submit" name="entrar" class="btn btn-primary btn-lg btn-block">Entrar</button>
  11.                             </div>
  12.                       </form>
  #2 (permalink)  
Antiguo 11/11/2014, 12:08
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Formulario con validación javascript se envía aunque se valide

Si estás usando el plugin validate para validar el formulario, no hace falta que ejecutes otra función al momento de enviar los datos, como veo que intentas hacerlo al ejecutar la función iniciarSesion. Deja todo el trabajo en manos del plugin. Quizá sea esa función la que está produciendo ese comportamiento.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 11/11/2014, 14:58
 
Fecha de Ingreso: febrero-2014
Mensajes: 69
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Formulario con validación javascript se envía aunque se valide

estas es la función a la cual intento enviar el formulario

Código Javascript:
Ver original
  1. function iniciarSesion()
  2. {
  3.  
  4.  
  5.     var newUrl      ="ajax/iniciarSesion.php";
  6.     var parametros  ={
  7.                         "CARNET"        :$("#CARNET").val(),
  8.                         "CONTRASENA"    :$("#CONTRASENA").val()
  9.                      };          
  10.     $.ajax(
  11.     {      
  12.         data    :parametros,//ENVIO LOS PARAMETROS
  13.         url     :newUrl,//PAGINA QUE PROCESA LOS DATOS
  14.         type    :"post",
  15.         beforeSend:function()
  16.         {//FUNCION QUE HACE LO QUE ANTES DE QUE SE EJECUTE EL AJAX
  17.             $("#msn").html("<img  src='images/carga.gif' border='0'/> Generando Catalogo");
  18.         },
  19.         success:function(response)
  20.         {//FUNCION QUE ME DEVUELVE CUANDO HAYA PROCESADO            
  21.             $("#msn").html(response);
  22.         },
  23.         error:function()
  24.         {
  25.             $("#msn").html("Ha ocurrido un error");
  26.         }                
  27.     });
  28. }

y esa función me lleva a esto:
Código PHP:
Ver original
  1. <?php
  2.  
  3.     include_once("../clases/Sesiones.php");
  4.  
  5.     $sesiones = new Sesiones();
  6.  
  7.     $sesiones -> setCarnet($_POST["CARNET"]);
  8.     $sesiones -> setContrasena($_POST["CONTRASENA"]);
  9.  
  10.     $sesiones -> validar();
  11. ?>
  #4 (permalink)  
Antiguo 11/11/2014, 15:30
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Formulario con validación javascript se envía aunque se valide

Una pregunta: ¿Estás intentando validar solo con PHP o también con el plugin? Porque, en la función iniciarSesion, no utilizas el plugin, con lo cual, este último queda sobrando.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 12/11/2014, 11:18
 
Fecha de Ingreso: febrero-2014
Mensajes: 69
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Formulario con validación javascript se envía aunque se valide

Tenes razón al final use un manejador del onsubmit del mismo plugin este es el código de la validación al final:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     $(function(){
  3.       $('#login').validate({
  4.         rules :
  5.         {
  6.          
  7.           CARNET :
  8.           {
  9.             required : true,
  10.             minlength : 8,
  11.             maxlength : 8
  12.           },
  13.  
  14.           CONTRASENA :
  15.           {
  16.             required : true,
  17.             minlength : 4,
  18.             maxlength : 20
  19.           }
  20.         },
  21.  
  22.         messages :
  23.         {
  24.  
  25.           CARNET :
  26.           {
  27.             required : "Debe ingresar su Carnet.",
  28.             minlength : "El Carnet debe tener 8 caracteres.",
  29.             maxlength : "El Carnet debe tener 8 caracteres."
  30.           },
  31.  
  32.           CONTRASENA :
  33.           {
  34.             required : "Debe ingresar su contraseña.",
  35.             minlength : "La contraseña debe tener un minimo de 5 caracteres.",
  36.             maxlength : "La maximo debe tener un minimo de 10 caracteres."
  37.           }
  38.         },
  39.         submitHandler: function()
  40.         {
  41.           iniciarSesion();
  42.         }
  43.       });
  44.     });
  45. </script>

Este es el manejador que utilice:

Código Javascript:
Ver original
  1. submitHandler: function()
  2.         {
  3.           iniciarSesion();
  4.         }

Etiquetas: javascript
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 01:29.