在XHTML 1.1中:元素'input'不能嵌套在元素'form'中。为什么?

时间:2010-01-28 22:01:30

标签: xhtml

以下代码禁止在XHTML 1.1严格模式下使用:

<form method="post" action="index">
    <input id="_method" name="_method" type="hidden" value="" />
</form>

如果你希望它有效,那么你需要用div(或p等等)包装它,如:

<form method="post" action="index">
    <div>
         <input id="_method" name="_method" type="hidden" value="" />
    </div>
</form>

这有什么意义呢?

2 个答案:

答案 0 :(得分:7)

根据W3Cthis site,XHTML 1.1中的<form>元素可能只包含块级元素和<fieldset>


至于为什么 ...我认为form可能只包含块级元素的原因是因为它本身不被视为一个元素,而是一个包装器其他元素。几年前在w3c的邮件列表中有some discussion我能够挖掘出来 - 但实际上并没有回答这个问题。

答案 1 :(得分:3)

欢迎来到古怪的标准世界。有时似乎编写XHTML标准的人认为如果有更多规则,语言会更好。

HTML5现在就在这里。