2009-12-31 12 views
5

¿Es el siguiente código HTML válido? Lo que me pregunto específicamente es la ubicación de la etiqueta <form>.¿Es <form> válido sobre <tr>?

<table> 
    <form> 
     <tr> 
      <td> 
       <input id="txt" type="text"></input> 
      </td> 
      <td> 
       <input id="txt" type="text"></input> 
      </td> 
      <td> 
       <input type="submit"></input> 
      </td> 
     </tr> 
    </form> 
</table> 
+1

me siento ilógico acerca de poner la forma entre la mesa de esta manera. ¿Qué hay de envolver la tabla entera con la forma? =) – mauris

Respuesta

11

Lo recomiendo usando el validador w3c http://validator.w3.org/. Y no, no válida :-)

+1

me gustaría darle 100 votos por votos para esto ...la mayoría de los desarrolladores ignoran este tipo de validación gran :-( – bastianneu

+0

muy útil, que :) – willem

8

No es válido. Supongo que quiere eliminar el relleno predeterminado del elemento de formulario. Esto se realiza mejor a través de CSS:

form { 
    padding:0; 
    margin:0; 
} 

o

<form style="padding:0;margin:0;"> 

Su enfoque solía ser muy común para quitar el formulario predeterminado de relleno (CSS antes se hizo popular). Ahora debe colocar las etiquetas de formulario fuera de la tabla. Preferiblemente, ni siquiera debería usar una tabla aquí, pero esa no es la pregunta, así que lo dejaré pasar. ;)

+0

Esto debería haber sido marcado como una respuesta. –

+0

¿O es posible que simplemente haya querido utilizar múltiples formularios en una tabla que abarque más de una fila? Probablemente esté mejor usando divs para lograr eso. –

+1

@Ivan - Se debe usar Javascript para eso, asignar valores a un formulario oculto y enviar, ya que usar múltiples formularios idénticos no tiene sentido, ya que solo se puede enviar un formulario por página. Podría asignar una identificación a la fila y usar eso para identificarla. –

3

No, esto no es válida, TABLE sólo puede contener TBODY, THEAD, TFOOT, CAPTION, COL, COLGROUP. Si está usando XHTML, también puede poner tr dentro del table.

+0

Los únicos elementos secundarios que puede tener un elemento de tabla son caption, col, colgroup, tbody, thead y tfoot. (XHTML agrega elementos tr a esa lista). Los elementos son inaceptables. – Quentin

+0

Sí, me refiero a TR :) – willem

+0

Me equivoqué TH, lo arreglé y agregué todos los otros elementos (tuve que verificar los documentos). Como no especificó qué versión de HTML está usando, también he añadido TR a la lis :) –

2

No. Ver: http://www.w3.org/TR/html4/struct/tables.html#edef-TABLE

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

El elemento <form> pueden aparecer en todos los lugares donde se puede tener block contenido. Así que <form> puede ir en <body>, <blockquote>, <noscript> (por extraño motivo también en <map>). Debido block también se puede ir en flow, sino que también puede aparecer en <div>, <ins>, <del>, <dd>, <li>, <td>, <th>

+1

formularios no pueden aparecer en formas o botones, se excluyen expresamente las gracias a:! ' 'y' ' – Quentin

+0

Gracias David - supervisión de mi parte. ¡Gracias! –

-3

No es adecuado HTML, pero a veces se hace para perder las líneas vacías.

Cuestiones relacionadas