Foros del Web » Programando para Internet » Javascript »

Llenado de inputs date automaticamente

Estas en el tema de Llenado de inputs date automaticamente en el foro de Javascript en Foros del Web. Hola, Tengo este ejemplo que he tomado y quiero seguirlo adaptando. Tengo este código que al ingresar una cantidad en el input me genera la ...
  #1 (permalink)  
Antiguo 17/09/2013, 18:13
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 12 años, 10 meses
Puntos: 4
Pregunta Llenado de inputs date automaticamente

Hola,
Tengo este ejemplo que he tomado y quiero seguirlo adaptando.
Tengo este código que al ingresar una cantidad en el input me genera la misma cantidad de inputs tipo date…


-------------------------------------------------------------------------------------------------------------------------------------------------


Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.  
  4. <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  5. <title>Fechas</title>
  6. function crearCampos1(cantidad){
  7. var div = document.getElementById("1");
  8. while(div.firstChild)div.removeChild(div.firstChild); // remover elementos;
  9.     for(var i = 1, cantidad = Number(cantidad); i <= cantidad; i++){
  10.    var salto = document.createElement("P");
  11.    var input = document.createElement("input");
  12.    var text = document.createTextNode("Semana " + i + ": ");
  13.    input.setAttribute("name", "campo" + i);    
  14.    input.setAttribute("type", "date");
  15.    input.className = "input";
  16.    salto.appendChild(text);
  17.    salto.appendChild(input);
  18.    div.appendChild(salto);
  19.    }
  20. }
  21. function crearCampos2(cantidad){
  22. var div = document.getElementById("2");
  23. while(div.firstChild)div.removeChild(div.firstChild); // remover elementos;
  24.     for(var i = 1, cantidad = Number(cantidad); i <= cantidad; i++){
  25.    var salto = document.createElement("P");
  26.    var input = document.createElement("input");
  27.    var text = document.createTextNode("Semana " + i + ": ");
  28.    input.setAttribute("name", "campo" + i);    
  29.    input.setAttribute("type", "date");
  30.    input.className = "input";
  31.    salto.appendChild(text);
  32.    salto.appendChild(input);
  33.    div.appendChild(salto);
  34.    }
  35. }
  36.  
  37. function crearCampos3(cantidad){
  38. var div = document.getElementById("3");
  39. while(div.firstChild)div.removeChild(div.firstChild); // remover elementos;
  40.     for(var i = 1, cantidad = Number(cantidad); i <= cantidad; i++){
  41.    var salto = document.createElement("P");
  42.    var input = document.createElement("input");
  43.    var text = document.createTextNode("Semana " + i + ": ");
  44.    input.setAttribute("name", "campo" + i);    
  45.    input.setAttribute("type", "date");
  46.    input.className = "input";
  47.    salto.appendChild(text);
  48.    salto.appendChild(input);
  49.    div.appendChild(salto);
  50.    }
  51. }
  52.  
  53. function crearCampos4(cantidad){
  54. var div = document.getElementById("4");
  55. while(div.firstChild)div.removeChild(div.firstChild); // remover elementos;
  56.     for(var i = 1, cantidad = Number(cantidad); i <= cantidad; i++){
  57.    var salto = document.createElement("P");
  58.    var input = document.createElement("input");
  59.    var text = document.createTextNode("Semana " + i + ": ");
  60.    input.setAttribute("name", "campo" + i);    
  61.    input.setAttribute("type", "date");
  62.    input.className = "input";
  63.    salto.appendChild(text);
  64.    salto.appendChild(input);
  65.    div.appendChild(salto);
  66.    }
  67. }
  68.  
  69. function crearCampos5(cantidad){
  70. var div = document.getElementById("5");
  71. while(div.firstChild)div.removeChild(div.firstChild); // remover elementos;
  72.     for(var i = 1, cantidad = Number(cantidad); i <= cantidad; i++){
  73.    var salto = document.createElement("P");
  74.    var input = document.createElement("input");
  75.    var text = document.createTextNode("Semana " + i + ": ");
  76.    input.setAttribute("name", "campo" + i);    
  77.    input.setAttribute("type", "date");    
  78.    input.className = "input";
  79.    salto.appendChild(text);
  80.    salto.appendChild(input);
  81.    div.appendChild(salto);
  82.    }
  83. }
  84. </head>
  85.  
  86.  
  87.    
  88.     Fechas 1 <input type="text" name="cantidad" id="cantidad" value="" onkeyup="crearCampos1(this.value);" />
  89.     <input type="button" id="boton" value="Crear/Eliminar Campos" onclick="crearCampos1(this.form.cantidad.value);" />
  90.     <div id="1">
  91.        
  92.     </div>
  93.  
  94.     Fechas 2 <input type="text" name="cantidad" id="cantidad" value="" onkeyup="crearCampos2(this.value);" />
  95.     <input type="button" id="boton" value="Crear/Eliminar Campos" onclick="crearCampos2(this.form.cantidad.value);" />
  96.     <div id="2">
  97.  
  98.     </div>
  99.  
  100.     Fechas 3 <input type="text" name="cantidad" id="cantidad" value="" onkeyup="crearCampos3(this.value);" />
  101.     <input type="button" id="boton" value="Crear/Eliminar Campos" onclick="crearCampos3(this.form.cantidad.value);" />
  102.     <div id="3">
  103.  
  104.     </div>
  105.  
  106.     Fechas 4 <input type="text" name="cantidad" id="cantidad" value="" onkeyup="crearCampos4(this.value);" />
  107.     <input type="button" id="boton" value="Crear/Eliminar Campos" onclick="crearCampos4(this.form.cantidad.value);" />
  108.     <div id="4">
  109.  
  110.     </div>
  111.  
  112.     Fechas 5 <input type="text" name="cantidad" id="cantidad" value="" onkeyup="crearCampos5(this.value);" />
  113.     <input type="button" id="boton" value="Crear/Eliminar Campos" onclick="crearCampos5(this.form.cantidad.value);" />
  114.     <div id="5">
  115.        
  116.     </div>
  117. </form>
  118. </body>
  119. </html>
Y lo que quiero lograr es que al yo seleccionar la fecha en el primer input “Semana 1” automáticamente se llenen los demás con las semanas que le siguen…

Espero explicarme, de antemano muchas gracias…..
  #2 (permalink)  
Antiguo 17/09/2013, 18:26
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: Llenado de inputs date automaticamente

Hola,

1.-Solo deberias escribir una funcion, son para reutilizar un poco el código, no para que lo copies y lo pegues.

Cambios
Código Javascript:
Ver original
  1. <script>
  2. //cambiamos la funcion para que reciba un id
  3. function crearCampos5(cantidad,Element_Id){
  4. var div = document.getElementById(Element_Id);
  5. while(div.firstChild)div.removeChild(div.firstChild); // remover elementos;
  6.     for(var i = 1, cantidad = Number(cantidad); i <= cantidad; i++){
  7.    var salto = document.createElement("P");
  8.    var input = document.createElement("input");
  9.    var text = document.createTextNode("Semana " + i + ": ");
  10.    input.setAttribute("name", "campo" + i);    
  11.    input.setAttribute("type", "date");    
  12.    input.className = "input";
  13.    salto.appendChild(text);
  14.    salto.appendChild(input);
  15.    div.appendChild(salto);
  16.    }
  17. }
  18. </script>
Así, solo necesitas una funcion.

Cambios Html

Código HTML:
Ver original
  1. <input type="button" id="boton" value="Crear/Eliminar Campos" onclick="crearCampos1(this.form.cantidad.value,'1');" />
  2. //le enviamos el id que va a procesar.ok?

Para copiar los elementos, debes crear otra funcion.
Saludos.

Etiquetas: automaticamente, date, html, input, inputs, llenado
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 12:06.