【发布时间】:2012-06-21 12:50:11
【问题描述】:
为什么会这样?
<table>
<form>
<tr><td>something something</td/>
</form>
</table>
我说的是表格标签中表单标签的位置。
【问题讨论】:
-
您的帖子缺少一个关闭的 ` 标签。可以修一下吗?
标签: forms
为什么会这样?
<table>
<form>
<tr><td>something something</td/>
</form>
</table>
我说的是表格标签中表单标签的位置。
【问题讨论】:
标签: forms
来自DTD:
<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ELEMENT CAPTION - - (%inline;)* -- table caption -->
<!ELEMENT THEAD - O (TR)+ -- table header -->
<!ELEMENT TFOOT - O (TR)+ -- table footer -->
<!ELEMENT TBODY O O (TR)+ -- table body -->
<!ELEMENT COLGROUP - O (COL)* -- table column group -->
<!ELEMENT COL - O EMPTY -- table column -->
<!ELEMENT TR - O (TH|TD)+ -- table row -->
<!ELEMENT (TH|TD) - O (%flow;)* -- table header cell, table data cell-->
这些是您可以在 table 元素中包含的唯一元素(在本例中是 HTML 4,但您检查了相同类型的文档是否有其他版本,它并没有太大变化)。
另一方面,form 元素可以包含任何其他块级元素(其他形式除外):
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
而td 元素可以包含任何“流”元素(如第一个代码块所示),“流”包括块级元素:
<!ENTITY % flow "%block; | %inline;">
因此,您可以将<form> 标签放在整个表格周围或一个表格单元格内。
【讨论】:
只有元素 CAPTION、COL、COLGROUP、THEAD、TFOOT 和 TBODY 允许作为 TABLE 元素的子元素。请参阅 HTML 规范中的 The TABLE element。
【讨论】:
因为根据标准,您只能将<form> 标签放在<td> 内部或<table> 外部。
【讨论】: