Foros del Web » Programando para Internet » Jquery »

Como puedo validar un campo clonado con jquery

Estas en el tema de Como puedo validar un campo clonado con jquery en el foro de Jquery en Foros del Web. Hola a todos he estado trantando de validar un campo dinamico con jquery pero nadamas no logro hacerlo ya me pase todo el día con ...
  #1 (permalink)  
Antiguo 10/02/2012, 19:31
 
Fecha de Ingreso: febrero-2012
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 0
Como puedo validar un campo clonado con jquery

Hola a todos he estado trantando de validar un campo dinamico con jquery pero nadamas no logro hacerlo ya me pase todo el día con esto buscando y buscando no encontre nada no se si me puedan ayudar aqui. este codigo me lo encontre navegando en la web y funciona perfecto, ahora lo que quiero hacer es poder validarlo con un el plugin maskedinput para que las horas queden validadas y no haya problema a la hora de guardarlos.
aqui el codigo de clonado que ya funciona.
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.     //ACA le asigno el evento click a cada boton de la clase bt_plus y llamo a la funcion addField
  3.         $(".bt_plus").each(function (el){
  4.             $(this).bind("click",addField);
  5.                                      });
  6.                             });
  7.  
  8.  
  9. function addField(){
  10. // ID del elemento div quitandole la palabra "div_" de delante. Pasi asi poder aumentar el número. Esta parte no es necesaria pero yo la utilizaba ya que cada campo de mi formulario tenia un autosuggest , así que dejo como seria por si a alguien le hace falta.
  11.  
  12. var clickID = parseInt($(this).parent('div').attr('id').replace('div_',''));
  13.  
  14. // Genero el nuevo numero id
  15. var newID = (clickID+1);
  16.  
  17. // Creo un clon del elemento div que contiene los campos de texto
  18. $newClone = $('#div_'+clickID).clone(true);
  19.  
  20. //Le asigno el nuevo numero id
  21. $newClone.attr("id",'div_'+newID);
  22.  
  23. //Asigno nuevo id al primer campo input dentro del div y le borro cualquier valor que tenga asi no copia lo ultimo que hayas escrito.(igual que antes no es necesario tener un id)
  24. //$newClone.children("input").eq(0).attr("id",'materiales'+newID).val('');
  25. $newClone.children("input").eq(0)//.attr("id",'materiales'+newID).val('');
  26.  
  27. //Borro el valor del segundo campo input(este caso es el campo de cantidad)
  28. //$newClone.children("input").eq(1).val('');
  29. //$newClone.children("input").eq(1)//.val('');
  30.  
  31. //Asigno nuevo id al boton
  32. $newClone.children("input").eq(2).attr("id",newID)
  33.  
  34.  
  35. //Inserto el div clonado y modificado despues del div original
  36. $newClone.insertAfter($('#div_'+clickID));
  37.  
  38. //Cambio el signo "+" por el signo "-" y le quito el evento addfield
  39. $("#"+clickID).val('-').unbind("click",addField);
  40.  
  41. //Ahora le asigno el evento delRow para que borre la fial en caso de hacer click
  42. $("#"+clickID).bind("click",delRow);                   
  43.                        
  44. }
  45.  
  46.  
  47. function delRow() {
  48. // Funcion que destruye el elemento actual una vez echo el click
  49. $(this).parent('div').remove();
  50.  
  51. }
ahora el formulario
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
  5.  
  6. <meta content="jquery, forumlario dinamico, timersys, tutorial" name="keywords"/>
  7.  
  8. <title>Timersys </title>
  9. <script type="text/javascript" src="js/jquery.js"></script>
  10. <script type="text/javascript" src="js/jquery.maskedinput.js"></script>
  11. <script type="text/javascript" src="js/jquery.addfield.js"></script>
  12. <script language="javascript">
  13. //esto es lo que quiero que valide pero ya le busque y no lo consigo,
  14. //se los dejo asi para ver si me entiende lo que quiero hacer
  15. //esto lo que hace es validar las horas que no sean mayor a 24 horas
  16. //pero no se donde ponerlo para que haga la validacion de los input
  17. //clonados
  18. jQuery(function($)
  19.         {
  20.            $.mask.definitions['H']='[012]';
  21.            $.mask.definitions['N']='[012345]';
  22.            $.mask.definitions['n']='[0123456789]';
  23.            $("#iddelcampovalidar").mask("Hn:Nn:Nn");
  24.         });
  25.        
  26.         function valida(valor)
  27.         {
  28.            //que no existan elementos sin escribir
  29.            if(valor.indexOf("_") == -1)
  30.            {             
  31.               var hora = valor.split(":")[0];
  32.               if(parseInt(hora) > 23 )
  33.               {
  34.                    $("#iddelcampovalidar").val("");          
  35.               }
  36.            }
  37.         }
  38.         </script>
  39. </head>
  40. <body>
  41. <fieldset>
  42. <legend>Agregar Horarios</legend>
  43. <div id="stylized" class="myform">
  44. <form id="form" name="form" method="post" action="mostrar.php">
  45.  
  46. <div id="material_comprado"> </div>  
  47. <div id="div_1">
  48. <label>Dia
  49. <span class="small"><select name="dia[]" id="dia">
  50. <option value="lunes">Lunes</option>
  51. <option value="martes">Martes</option>
  52. <option value="miercoles">Miercoles</option>
  53. <option value="jueves">Jueves</option>
  54. <option value="viernes">Viernes</option>
  55. <option value="sabado">Sabado</option>
  56. <option value="domingo">Domingo</option>
  57. </select>
  58. Hora de Entrada:
  59. </span>
  60. </label>
  61.  
  62.     <input  type="text"  name="entrada[]" />
  63.     Hora de Salida:
  64.     <input type="text"   name="salida[]" /><input class="bt_plus" id="1" type="button" value="+" /><div class="error_form"></div>
  65. </div>
  66.  
  67.  
  68.  
  69.  
  70. <button type="submit" class="boton">Save</button>
  71. <div class="spacer"></div>
  72. </form>
  73. </div>
  74. </fieldset>
  75. </body>
  76. </html>
  #2 (permalink)  
Antiguo 13/02/2012, 01:29
 
Fecha de Ingreso: febrero-2012
Mensajes: 2
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Como puedo validar un campo clonado con jquery

nadie sabe? ayuda

Etiquetas: clonde, input
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 18:29.