Jump to content
  • 0

Валидация FROM


Amertox
 Share

Question

Создаем простенькую страничку:

<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Test</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=Windows-1251">
</head>

<body>

<form action="http://yandex.ru" name="form1" method="GET">
<p>
<input name="myname" type="text" size="40">
<input type="submit" value="Отправить">
</p>
</form>

</body>
</html>

Валидация - ок.

Убираем <p> и </p> в <form>: валидация дает 3 ошибки. Подскажите почему так происходит? Или где об этом можно прочитать?

Извиняюсь, тему назвал с ошибкой (

Edited by Amertox
Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

То, какие элементы где могут содержаться, задается в определении типа документа (DTD). Для HTML 4.01 Strict DTD такой. Для элемента FORM там указано:

<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
т.е. непосредственно в теге <form> могут находиться блочные элементы либо <script> (то, что в первых скобках). В свою очередь, блочные элементы определяются как следующий список:
<!ENTITY % block

"P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |

BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">

где, опять же, %heading; расшифровывается как любой из заголовков H1 — H6, %list; — списки UL и OL, а %preformatted; означает элемент PRE.

Любые другие элементы непосредственно внутри формы DTD запрещает. Поэтому INPUT-ы и другие строчные элементы в форме обязательно нужно оборачивать во что-то блочное (из списка выше).

Link to comment
Share on other sites

  • 0
Ты удивишься, но на странице, где тебе выдается 3 ошибки.

Там написано "Тип документа не разрешает элемент INPUT в этом месте". Но не поясняется, что за зверь этот загадочный "тип документа". Для непосвященного человека это может быть не понятно...

Link to comment
Share on other sites

  • 0
Там написано "Тип документа не разрешает элемент INPUT в этом месте". Но не поясняется, что за зверь этот загадочный "тип документа". Для непосвященного человека это может быть не понятно...

Тип документа:

<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Link to comment
Share on other sites

  • 0

Точнее, то, что по ссылке — http://www.w3.org/TR/html4/strict.dtd. Но читать и расшифровывать его формат все-таки нелегко. Вышеприведенная страничка, где этот DTD разобран по косточкам, все логические зависимости повязаны ссылками и т.п., на мой взгляд, для понимания "что да почему" гораздо легче...

Link to comment
Share on other sites

  • 0

Для данного типа документа - не только "ничего", а единственно правильно. Любые попытки его закрыть браузер проигнорирует, а валидатор посчитает ошибкой. Это HTML, а не XML :)

Link to comment
Share on other sites

  • 0

А зачем использовать устаревший доктайп?

Если задать xhtml 1.0 transitional будет проходить валидацию без контейнеров для элементов формы.

При стриктовом доктайпе элементы формы нужно брать в контейнер (таблица,блок,параграф...)

Link to comment
Share on other sites

  • 0

Kiddo, это который из них устаревший-то? :) И зачем менять стрикт на транзишнл, если с ним уже все валидируется (опять же, если все-таки менять - чем HTML 4.01 Transitional не угодил)?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy