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

Fit*_*aki 6 xhtml

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

<form method="post" action="index">
    <input id="_method" name="_method" type="hidden" value="" />
</form>
Run Code Online (Sandbox Code Playgroud)

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

<form method="post" action="index">
    <div>
         <input id="_method" name="_method" type="hidden" value="" />
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

这有什么意义呢?

Sea*_*ira 7

根据W3C这个站点<form>,XHTML 1.1中的元素可能只包含块级元素和<fieldset>.


至于为什么 ...我认为form可能只包含块级元素的原因是因为它本身不被视为元素,而是其他元素的包装.有一些 讨论,在W3C的邮件列表若干年前,我能挖的这一点-但没有实际上回答了这个问题.