Obtener datos de un form creado dinamicamente

Amigos buenos dias, tengo el siguiente problema. Estoy trabajando con Ruby on Rails, pero creo q eso no hace al problema y la solucion...

La FAQ Obtener datos de un form creado dinamicamente tiene

Pertenece a la categoría:
Pregunta
Amigos buenos dias, tengo el siguiente problema.



Estoy trabajando con Ruby on Rails, pero creo q eso no hace al problema y la solucion seria independiente al lenguaje.


Resulta que tengo un formulario creado dinamicamente a partir de un array de objetos, basicamente se trata de recorrer el array y por cada iteracion se crea una nueva fila en una tabla con los datos del registro, y a su vez se agregan 2 textfields por fila.


Como puedo obtener esos campos del formulario que fueron creados dinamicamente al hacer el submit?


Se podria obtener el formulario de akguna manera y recorrer las filas de la tabla, y una vez dentro operar con los textfields?
Respuesta de Ernesto Spiro
Ponle un nombre de arreglo a cada textfield.

Te explico con un poco de código:

var tabla = document.getElementById('id_de_tabla'); //qué tabla le agregaré campos?

var arreglo_x = new Array("valor1", "valor2", "valor3"); //mi arreglo y algunos valores

var cuantos = arreglo_x.length; //numero de elementos en el arreglo

var auxiliar; //variable auxiliar

for (auxiliar=0; auxiliar < cuantos; auxiliar++) {

var fila = tabla.insertRow(auxiliar); //creo una fila

var celda = fila.insertCell(0); //Agrego 1 celda a la fila. Esto es porque en el ejemplo la tabla tendrá 'x' filas y 1 sola columna(celda).

celda.innerHTML = '<input type="text" name="textfield[]" id="textfield' + auxiliar + '" value="valor cualquiera"/>'; //Creo el input. Aquí es lo importante! ojo al atributo name!

}

Espero funcione el código, es javascript. No lo probé pero te deberá dar una idea.

El atributo name del input dice: textfield[] pudiera ser: lo_que_se_me_ocurra[]

Lo que pasa aqui es que cuando envías el formulario por método post puedes hacer lo siguiente:

echo $_POST[textfield][0]; //Esto imprimira el primer valor de los campos!!!

Es decir que al darle un nombre de arreglo, por lo menos en PHP lo recibes y tratas como arreglo.

Ahora tienes controlado qué variables estás mandando, cuántas y con qué valor.

Saludos y espero te sirva la respuesta!
Volver al árbol de categoríasVolver al árbol de categorías
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías