为什么<form>元素不能成为?</form>的子元素

时间:2013-06-12 01:09:14

标签: html html-validation

以下HTML无效,有效的替代方法是将表单标记放在表标记之外。我的问题是为什么决定将其视为非法。

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

2 个答案:

答案 0 :(得分:4)

tbody标签用于表格单元格的分组。它不应包含任何内容,因此不应包含表单。

http://www.w3schools.com/tags/tag_tbody.asp

  • The <tbody> tag is used to group the body content in an HTML table.
  • The <tbody> element must have one or more <tr> tags inside.

您可以将表格放在表格的整个内容周围或单个表格单元格内。

根据您的操作,您可能需要考虑将<div>与css样式而不是表格一起使用。表用于表示数据(不是表单输入)。而div更多的是用于切片和设计。

答案 1 :(得分:0)

注意:这个答案纯属猜测。

允许非表格元素不必要地使渲染复杂化

在创建HTML期间的某个时刻,显然认为有必要提供表格数据。现在我们希望这是一个简单和标准化的方法,以防止过于复杂的渲染算法,从而导致各种错误。尝试从开发人员的角度考虑表的呈现。在正常条件下编写在任何给定限制内呈现数据的代码有多难。现在补充一点,任何其他类型的元素与这些表元素混合的可能性。这使得我们必须计算渲染的方式变得非常复杂。