Foros del Web » Creando para Internet » HTML »

[SOLUCIONADO] Formulario dentro de formulario

Estas en el tema de Formulario dentro de formulario en el foro de HTML en Foros del Web. Buenas. Tengo un problema un poco tonto pero que no se me ocurre cómo solucionar. Os lo comento por si alguien me puede ayudar. Tengo ...
  #1 (permalink)  
Antiguo 14/04/2014, 02:36
liranan
Invitado
 
Mensajes: n/a
Puntos:
Formulario dentro de formulario

Buenas. Tengo un problema un poco tonto pero que no se me ocurre cómo solucionar. Os lo comento por si alguien me puede ayudar.

Tengo una tabla que muestra los registros de una base de datos. La idea es que se pueda modificar tanto cada registro por separado como realizar una serie de acciones globales seleccionando con un check diferentes registros. Para ello tengo un formulario que ocupa toda la tabla, y luego un formulario distinto por cada registro.

Actualmente la estructura es así:

Código HTML:
Ver original
  1. <form id='registros' method='post' action='acciones.php'>
  2.      <tr>
  3.           <td><input type='checkbox' name='id[]' value='1'/></td>
  4.           <td>Nombre registro 1</td>
  5.           <td>Modificar registro 1
  6.                <form name='registro1' method='post' action='acciones.php'>
  7.                     <input type='text' name='nombre' value='Nombre registro 1'/>
  8.                      (etc...)
  9.                </form>
  10.           </td>
  11.      </tr>
  12.      <tr>
  13.           <td><input type='checkbox' name='id[]' value='2'/></td>
  14.           <td>Nombre registro 2</td>
  15.           <td>Modificar registro 2
  16.                <form name='registro2' method='post' action='acciones.php'>
  17.                     <input type='text' name='nombre' value='Nombre registro 2'/>
  18.                      (etc...)
  19.                </form>
  20.           </td>
  21.      </tr>
  22.      (etc...)
  23. </form>

El problema es que el formulario global se cierra con la etiqueta de cierre del primer registro de la tabla. Es decir, parece que no reconoce una jerarquía de etiquetas.

¿Es imposible hacerlo así o existe alguna manera?.

Gracias.
Gonzalo.
  #2 (permalink)  
Antiguo 14/04/2014, 03:04
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 7 meses
Puntos: 2114
Respuesta: Formulario dentro de formulario

Es que no se pueden anidar formularios, porque los que vengan luego serán ignorados. Tendrás que pensar en alguna otra forma de hacerlo.
  #3 (permalink)  
Antiguo 14/04/2014, 03:25
liranan
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Formulario dentro de formulario

Es lo que me imaginaba. Gracias pzin.

Bueno, pues a intentar echarle imaginación.
  #4 (permalink)  
Antiguo 14/04/2014, 04:28
Avatar de Linton  
Fecha de Ingreso: diciembre-2011
Ubicación: Viena
Mensajes: 1.213
Antigüedad: 12 años, 3 meses
Puntos: 55
Respuesta: Formulario dentro de formulario

Con un select es bien sencillo, se hace habitualmente. A ver si lo he entendido: supongamos que tienes una web de comida a domicilio, y quieres que un cliente habitual cambie su pedido (almacenado en DB) para toda la semana mediante un formulario, escogiendo entre los platos de la carta.

O que una agencia de viajes ofrezca cambiar tu destino preferente entre pongamos 20 ciudades, para que te lleguen ofertas en consecuencia.

¿Es eso?
  #5 (permalink)  
Antiguo 14/04/2014, 04:37
liranan
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Formulario dentro de formulario


La idea es esta

Como puedes ver, es una lista.
En cada registro puedes desplegar un formulario de modificación de los valores de ese registro.

Pero luego, también puedes seleccionar varios registros con el checkbox de la izquierda y realizar acciones globales.

De todas formas, creo que ya he encontrado una solución, con javascript puedes acceder a los checkbox aunque estén fuera del formulario. Es más complicado pero ya estoy con ello.
Gracias igualmente por el interés ;)

Etiquetas: etiquetas, form, formulario, jerarquia, tabla
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 18:39.