В XHTML 1.1: элемент «input» не может быть вложен в элемент «form». Зачем? - PullRequest
6 голосов
/ 29 января 2010

Этот код ниже запрещен в строгом режиме 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 ]

7 голосов
/ 29 января 2010

Согласно W3C и этот сайт элемент <form> в XHTML 1.1 может содержать только элементы уровня блока, а <fieldset>.


Что касается почему ... Я считаю, что причина, по которой form может содержать только элементы уровня блока, заключается в том, что он не считается элементом сам по себе, а скорее является оберткой вокруг других элементов. Несколько лет назад в списках рассылки w3c было некоторое обсуждение того, что мне удалось откопать - но ничего, что на самом деле ответило на вопрос.

3 голосов
/ 29 января 2010

Добро пожаловать в странный мир стандартов. Иногда казалось, что люди, пишущие стандарты XHTML, думают, что язык будет лучше, если в нем будет больше правил.

HTML5 уже здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...