Comunidad de diseño web y desarrollo en internet online

Formulario con names dinámicos

Citar            
MensajeEscrito el 18 Ago 2016 09:16 pm
Cordial saludo a todos.
Gente, me he metido en un lío y no sé cómo resolverlo. Es algo confuso pero lo explicaré lo mejor que pueda a ver si me pueden ayudar.
Tengo una tabla que se crea dinámicamente en base a una consulta en MYSQL (Uso el mvc con un framework que usan donde hago las prácticas). En esa tabla al final de cada fila generé un botón "Editar".
Cuando oprimo el botón editar se abre una modal con un formulario que tiene todos los datos de esa fila (Todo esto por ajax porque dentro de la ventana quiero enviar unos mensajes sin tener que actualizar todo).
¿Cómo funciona? La tabla se crea en un foreach y dentro del foreach hay un include con el código de mi ventana modal. Al principio no funcionaba porque, obviamente cada botón y cada modal tenían el mismo ID.
Así que lo cambié para que el ID se genere dinámicamente. Es decir, que la fila con la clave primaria 7 generará el botón "#btn_abri7" que abre la modal "#modal7".
Hasta ahí la cosa parecía funcionar. Doy click al botón y se carga la modal con los datos.
Si yo meto la URL de la función de mi controlador, veo que lo que estoy devolviendo es una ventana modal con todos los datos por cada fila de mi consulta. Es decir que ahora que tengo tres registros hay tres modales cargadas con datos esperando a ser llamadas (Afortunamdamente no creo que nunca sean muchos registros a la vez).
Ok, el asunto es que mi controlador me devuelve un mensaje de undefined index por cada dato del form que envío por Ajax. Si hago que la función retorne un var_dump recibo NULL.
Eso en firefox, opera, chrome, explorer, etc. En EDGE mi función sí trabaja bien. Me devuelve el var_dump los datos del formulario.
Esto con names estáticos. Si le pongo names dinámicos a cada input, en plan "name+clave primaria) entonces ya no recibo el mensaje de undefined index porque todos mandan el array... PERO!!!! al ser un name dinámico el controlador ahora no sabe qué hacer con él.
Es decir, si le mando un input con el name #nombre7 (Siguiendo el ejemplo anterior de la fila 7) el controller queda loco porque estaba esperando era a $_POST['nombre'].
Qué puedo hacer?

Les dejo mis códigos por si alguien puede echar una mano.

Esta es mi vista. La función mostrar muestra la tabla en el div resultado:

http://codepen.io/ichiparanoid/pen/dXLrmx

Esta es la tabla que se carga dentro del div. Al final tiene un botón que es el que llamará a la modal. La modal va en el include del final de mi foreach:

http://codepen.io/ichiparanoid/pen/xOZVjr

Esta es la ventana modal que va metida en el foreach con un include

http://codepen.io/ichiparanoid/pen/bZJpKq

Y este es el controlador que debe recibir los datos de la ventana modal:

http://codepen.io/ichiparanoid/pen/rLbZKd

Si alguien pudiera ayudarme con esto les agradecería. No sé cómo resolverlo y me estoy jugando una oportunidad laboral.
La verdad soy bueno con PHP pero nunca había usado AJAX todavía. Estoy empezando a aprender JS.

Gracias de antemano.

Por ichiparanoid

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 Ago 2016 01:35 am
cuando se trata de ajax , es bueno que uses un depurador tipo FIREBUG para firefox, y veas si hay problemas en javascript o en lo REQUEST que manda, y si puedes monta tu proyecto en un servidor publico para probarlo ,ya que con trosos de codigo es mas dificil probar el error, incluso podria decir que el causante del error es otro codigo javascript que esta interfiriendo

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.