De antemano saludos a todos! .
Estoy intentando crear alguna función que permita añadir una fila --de una tabla-- que contenga diferentes elementos de un formulario. Estube buscando en el foro, no encontré algo "exácto" a lo que necesito... pero me enfoqué en 2 posibilidades:
1) Muchas respuestas de JavierB ; Un ejemplo.
Aquí obtube resultados en el efecto visual... osease, logré crear dicha función pero no pude recojer --PHP-- los elementos que se creaban dinámicamente, solo me reconocía aquellos que insertaba por default. Intento usar matricez, no sé si sea problema.
LLegué a esto:
Código:
Yo pensaba reducirlo guardando en un array los diferentes elementos a crearse (en el ejemplo 'file', 'text', 'textarea') y hacer un bucle, creo sería fácil para modificaciones de aumentar/disminuir celdas... Pero primero ver cómo recojo los valores... no tengo ni idea del motivo .<script> Num=3; // Ingreso manualmente --por default-- 3 filas function Anyadir() { if(Num<20) { // para limitar obj=document.getElementById('tabla'); f=document.getElementById('fila'); Num++; elTr=document.createElement('tr'); elTd=document.createElement('td'); elTd.innerHTML=Num+':'; elTr.appendChild(elTd); elTd=document.createElement('td'); elem=document.createElement('input'); elem.type='file'; // Un archivo elem.name='Archivo[]'; // Originalmente manejaba archivo+Num elTd.appendChild(elem); elTr.appendChild(elTd); /* Hasta aquí el código de JavierB... simplemente repetí lo que creí necesario */ elTd=document.createElement('td'); elem=document.createElement('input'); elem.type='text'; // Un textbox elem.name='Texto[]'; elTd.appendChild(elem); elTr.appendChild(elTd); elTd=document.createElement('td'); elem=document.createElement('textarea'); // Un textareta elem.name='TextArea[]'; elTd.appendChild(elem); elTr.appendChild(elTd); obj.insertBefore(elTr,f); } else alert('Ya basta!!!!'); } </script>
2) La FAQ #135
Aquí sí no dí una... pude añadir celdas poniendo un <tr> como contenedor, pero no supe cómo hacerle si se van a añadir filas... NO AL FINAL (falta el botón de enviar entre otras cosas).
Uno de mis experimentos finales fue esto --supongo para que se rian --:
Código:
sin resultados .function Anyadir() { Count++; document.getElementById('Content').innerHTML += '<tr> <td><input type="file" name="Archivo[]"></td> <td><input type="text" name="Texto[]"></td> <td><textarea name="TextArea[]"></textarea></td> </tr>'; } // Y manejando un DIV como contenedor <table><tr><td>Titulos y demás cosas</td></tr> <div id="Content"> <tr><td>Mis</td><td>Elementos</td><td>Por Default</td></tr> </div> <tr><td>Boton</td><td>Enviar</td><td>Y más cosas</td></tr> </table>
Espero en mi afán de ser explicativo y breve (no poner todo el código) no vaya a confundir más el asunto . Cualquier aporte es bien recibido...