Foros del Web » Programando para Internet » Javascript »

Generar filas de una tabla con Javascript

Estas en el tema de Generar filas de una tabla con Javascript en el foro de Javascript en Foros del Web. Buenas, soy nuevo en el foro así que seré breve: Tengo una pequeña/gran duda con respecto a la generacion de tablas a travez de javascript. ...
  #1 (permalink)  
Antiguo 23/03/2016, 10:47
 
Fecha de Ingreso: marzo-2016
Mensajes: 1
Antigüedad: 8 años
Puntos: 0
Generar filas de una tabla con Javascript

Buenas, soy nuevo en el foro así que seré breve:

Tengo una pequeña/gran duda con respecto a la generacion de tablas a travez de javascript.

Estoy intentando crear una tabla en donde el usuario va a ingresar los datos de varios participantes de un proyecto, el problema es que no se cuantos participantes son, porque varia con respecto a cada proyecto. ya tengo el codigo java script que genera las filas con los datos, pero no se como genera cada input con nombres (name="") diferentes.
Para que al enviarlos al php este pueda capturar cada valor por separado.

A continuacion les dejo el codigo que llevo.

Código Javascript:
Ver original
  1. function creartabla(){
  2.  
  3.     var tr = document.createElement("tr"),
  4.         td1 = document.createElement("td"),
  5.         td2 = document.createElement("td"),
  6.         td3 = document.createElement("td"),
  7.         td4 = document.createElement("td"),
  8.         i1 = document.createElement("input"),
  9.         i2 = document.createElement("input"),
  10.         i3 = document.createElement("input"),
  11.         i4 = document.createElement("input"),
  12.         padre = document.getElementById("tabla1");
  13.  
  14.     i1.setAttribute("class", "form-control");
  15.     i2.setAttribute("class", "form-control");
  16.     i3.setAttribute("class", "form-control");
  17.     i4.setAttribute("class", "form-control");
  18.  
  19.     i1.setAttribute("type", "text");
  20.     i2.setAttribute("type", "text");
  21.     i3.setAttribute("type", "text");
  22.     i4.setAttribute("type", "text");
  23.  
  24.     td1.setAttribute("class", "col-sm-3");
  25.     td2.setAttribute("class", "col-sm-3");
  26.     td3.setAttribute("class", "col-sm-3");
  27.     td4.setAttribute("class", "col-sm-3");
  28.  
  29.     td1.appendChild(i1);
  30.     td2.appendChild(i2);
  31.     td3.appendChild(i3);
  32.     td4.appendChild(i4);
  33.  
  34.     tr.appendChild(td1);
  35.     tr.appendChild(td2);
  36.     tr.appendChild(td3);
  37.     tr.appendChild(td4);
  38.    
  39.     padre.appendChild(tr);
  40.  
  41. }


Código HTML:
Ver original
  1. <table class="table table-striped table-bordered">
  2.                                                            
  3. <tbody id="tabla1">
  4.  
  5. <tr>
  6.  
  7. <td class="col-sm-3">Nombre</td>
  8.  
  9. <td class="col-sm-3">Cedula</td>
  10.  
  11. <td class="col-sm-3">Telefono</td>
  12.  
  13. <td class="col-sm-3">Profesion</td>
  14.  
  15. </tr>
  16.  
  17. <tr>
  18.  
  19. <td class="col-sm-3"><input class="form-control" type="text"></td>
  20.  
  21. <td class="col-sm-3"><input class="form-control" type="text"></td>
  22.  
  23. <td class="col-sm-3"><input class="form-control" type="text"></td>
  24.  
  25. <td class="col-sm-3"><input class="form-control" type="text"></td>
  26.                                                                 </tr>
  27.  
  28.                                                        

Estoy usando Bootstrap por cierto, por eso las clases.

Antes que nada les agradezco la ayuda. :D
  #2 (permalink)  
Antiguo 23/03/2016, 11: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: Generar filas de una tabla con Javascript

Bienvenido a Foros del Web.

Cuando tengas que crear a varios elementos similares, es mejor utilizar una estructura cíclica, como la estructura while o for; y para no complicarte con los nombres de las cajas de texto, puedes utilizar un nombre para formar un arreglo de elementos:
Código HTML:
Ver original
  1. <input type="text" name="ejemplo[0]" />
  2. <input type="text" name="ejemplo[1]" />
  3. <input type="text" name="ejemplo[2]" />
  4. <input type="text" name="ejemplo[3]" />

Para lo cual puedes utilizar el valor de la variable contadora (en un bucle), o una variable que lleve la cuenta de las cajas de texto creadas (si las fueras a añadir una por una):
Código Javascript:
Ver original
  1. //En un bucle
  2. for (var i = 0; i < total; i++){
  3.     var input = document.createElement("input");
  4.     input.name = "ejemplo[" + i + "]";
  5. }
  6.  
  7. //Una por una
  8. var i = 0;
  9. function crear(){
  10.     var input = document.createElement("input");
  11.     input.name = "ejemplo[" + i + "]";
  12.     i++; //Aquí se incrementa el valor de la variable para el siguiente elemento
  13. }

Un saludo
__________________
«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

Etiquetas: javascript+html, tablas
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 10:49.