Валидатор w3c выдает «тип документа не допускает элемент« ввод »здесь ...» ошибка - PullRequest
8 голосов
/ 03 мая 2011

Я получил эту ошибку при проверке моей страницы с помощью валидатора w3c.I got this error when validating my page with w3c's validator.

Источник:

<form action="form.php" method="post">
<input type="text"/>
</form>

Может кто-нибудь показать мне, почему я мог получить эту ошибку?Заранее спасибо!

1 Ответ

17 голосов
/ 03 мая 2011

Этот ответ относится к XHTML, а не к HTML5.

Элемент формы и тела принимает только дочерние элементы уровня блока <form action="/"> <input type="submit"> </form>…, что приведет к ошибке:

тип документа не позволяет элементу «вводить» здесь;отсутствует один из «p», «h1», «h2», «h3», «h4», «h5», «h6», «div», «pre», «address», «fieldset», «ins», "del" start-tag.

В строгих вариантах (X) HTML элемент формы может иметь только блочные элементы в качестве своих дочерних элементов, но элементы управления формой (например, элементы ввода) являются встроенными элементами.Решение состоит в том, чтобы выбрать элемент блока с соответствующей семантикой, которая может содержать встроенные элементы;Полезно, что валидатор создает список, который может помочь вам сузить его.

Когда дело доходит до формы, соответствующие элементы обычно имеют fieldset или простой div.

Source- Dorward Online

Выполнение чего-то вроде

<form action="form.php" method="post">
    <fieldset>
        <input type="text"/>
    </fieldset>
</form>

решит вашу проблему.

...