Foros del Web » Programando para Internet » Jquery »

Problema con jquery validate

Estas en el tema de Problema con jquery validate en el foro de Jquery en Foros del Web. Hola muy buenas tardes, me gustaria comentarles un problema que tengo con jquery validate. Para validadar un formulario simple con un input con id name, ...
  #1 (permalink)  
Antiguo 06/12/2014, 09:53
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 13 años, 2 meses
Puntos: 0
Problema con jquery validate

Hola muy buenas tardes, me gustaria comentarles un problema que tengo con jquery validate. Para validadar un formulario simple con un input con id name, al pinchar el ".boton" me muestra un el div "#loading_div". Si no hay error de validación envia el formulario pero si hay error muestra el error en un label #nameerror.

Mi problema viene que cuando hay error quiero ocultar "#loading_div" y si no relleno el input y sigo haciendo click en ".boton" siga sin mostrarse. El problema es que no consigo que el "#loading_div" se oculte su hay un error. Cuando tengo un error de validación se muestra "#loading_div" y #nameerror.

Viene a ser que el $("#loading_div").css("display", "hide"); que esta en el código de abajo no funcina.


Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.  
  3.  
  4. $( document ).ready(function() {
  5.  
  6.  
  7.     $(".boton").on('click',function() {
  8.      
  9.     $("#guardar").attr("action", "archivo.php");
  10.     $("#guardar").submit();
  11.     $("#loading_div").css("display", "BLOCK");
  12.    
  13.     });
  14.  
  15.  
  16.  
  17. });
  18.  
  19. </script>
  20. <script>
  21.  $('form').validate({
  22.         rules: {
  23.        
  24.          
  25.             name: {
  26.              
  27.                 required: true,
  28.  
  29.             },
  30.        
  31.            
  32.     },
  33.        
  34.          messages: {
  35.            
  36.             name: {
  37.             required: "Campo Requerido",
  38.              
  39.          
  40.            
  41.             },
  42.          
  43.            
  44.         },
  45.  
  46.        
  47.        
  48.         errorPlacement: function(error, element) {
  49.          
  50.  
  51.              if(element.attr('name') == 'name'){
  52.  
  53.                  $('#nameerror').html(error);
  54.                  $("#loading_div").css("display", "hide");
  55.              
  56.              }
  57.            
  58.  
  59.         }
  60.     });
  61.  
  62.  
  63. </script>
  #2 (permalink)  
Antiguo 07/12/2014, 11:02
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: Problema con jquery validate

En css, el display no tiene ningún valor válido llamado hide.
  #3 (permalink)  
Antiguo 07/12/2014, 16:25
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problema con jquery validate

Hola, disculpame fallo mio es none al ponerlo en el post en el script tengo none icluso e puesto hide() y tampoco funiona.

Un saludo y gracias por tu respuesta.
  #4 (permalink)  
Antiguo 08/12/2014, 01:03
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problema con jquery validate

Estaba pensando solo mostrar la precar si no hay ningún error, no colocalo en el boton.

Alguna idea ¿?

Muchas gracias
  #5 (permalink)  
Antiguo 10/12/2014, 03:45
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problema con jquery validate

Hola lo solucioné con:

Código Javascript:
Ver original
  1. submitHandler: function (form) {
  2.            $("#loading_div").css("display", "Block");
  3.            form.submit();
  4.         }

Etiquetas: formulario, input, javascript, php
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 11:39.