2011-05-08 25 views
6

múltiples formas en una misma mesa, sin embargo esto no parece estas formas últimos durante distintos períodos de filas para trabajar:¿Es posible insertar un formulario dentro de una tabla html?

<table> 
    <form> 
     <tr> 
      <td> 
      </td> 
      <td> 
      </td> 
     </tr> 
    </form> 
    <form> 
     <tr> 
      <td> 
      </td> 
      <td> 
      </td> 
     </tr> 
    </form> 
</table> 

creo una tabla tiene una estructura definida, y esto no puede ser entrelazado con otras estructuras, pero hay un trabajo ordenado alrededor de esto?

Gracias.

+0

Hmmmm, creo que no existe. ¿Tablas separadas están fuera de cuestión? –

+2

Las tablas son para presentar datos tabulares. Probablemente deberías usar CSS para diseñar formularios. ¿Puedes dar más contexto de por qué quieres usar formularios incrustados en tablas? – Ziggy

+0

Ziggy: las formas tienen una cierta tendencia a * ser * tabular ... – SamB

Respuesta

0

No entre <tr> etiquetas. Deberían trabajar fuera de <table> o dentro de <td>.

0

No es necesario tener dos formularios en una sola tabla si desea colocarlos en varias filas. Cuanto más grande sea la tabla, más tiempo tardará el navegador en cargarla y visualizarla. En su lugar, dar a cada forman su propia tabla y colocar las etiquetas de mesa dentro de las etiquetas de formulario, así:

<form method="GET" action="foo.sh"> 
    <table> 
    </table> 
</form> 
+1

Excepto que las columnas de cada tabla no necesariamente se alinearán entre sí. Lo cual frustra el propósito de usar una tabla (para alinear datos tabulares). – DanC

2

No, usted no puede hacer eso. Supongo que lo quieres de esa forma para tener ambas formas alineadas en una mesa, ¿verdad?

Si tiene permiso de javascript en la página, puede agregar los diferentes cuadros de texto, etc. dentro de los elementos <td>, y adjuntar controladores de eventos onchange a estos cuadros para rellenar los campos correspondientes (ocultos) en sus formularios reales.

+0

Después de considerar un poco he optado por una ruta de JavaScript ... He plantado formularios ocultos al final de la tabla. Estos formularios contienen los campos necesarios y un poco de Java actualiza sus valores a los campos reales en la tabla. ¡Gracias a todos por su ayuda y sugerencias! – mickwaffle

5

No. De acuerdo con este documento: http://www.w3.org/TR/html401/struct/tables.html#h-11.2.1 tabla puede contener sólo éstos:

TABLE -- 
    (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)> 

pero se puede usar algo como esto

<div class=table> 
    <form> 
    <div class=cell>...</div> 
    <div class=cell>...</div> 
    </form> 
</div> 

con los estilos:

div.table { display:table; } 
div.table > form { display:table-row; } 
div.table > form > div.cell { display:table-cell; } 
0

¡Sí! No hay problema para HTML5. Ahora, las etiquetas de tabla son solo una abreviatura de las reglas de estilo de tabla.

+0

¿Dónde leíste eso sobre HTML5? Creo que esto http://www.w3.org/TR/html5/tabular-data.html#the-table-element es bastante claro en lo que está permitido dentro de la tabla. –

+0

@ c-smile Por favor, lea esto: http://www.w3.org/TR/html5/common-dom-interfaces.html#collections-0 – cvsguimaraes

+0

¿Está diciendo que las tablas implementan colecciones? El HTMLTableElement en el enlace de c-smile claramente no está implementando colecciones. – musaul

1

Sería un problema en todos los HTML ... incluidos tanto XHTML como HTML5.

XHTML table dtd ..

<!ELEMENT table (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>

Cuestiones relacionadas