Dejen me rio de mi título.... ... listo!.
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:
<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>
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
.
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:
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>
sin resultados
.
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...