Должно ли fieldset быть в форме? - PullRequest
20 голосов
/ 18 марта 2009

Я ничего не знаю о DTD.

http://www.bls.gov/oco/ocos292.htm

Посмотрите, как fieldset используется вне формы на этой странице, и это круто! Я люблю стиль!

Ответы [ 9 ]

29 голосов
/ 18 марта 2009

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

Согласно спецификации HTML4.01, fieldset является допустимым элементом внутри формы, но, поскольку он является стандартным элементом уровня блока, он также допустим в других местах: http://www.w3.org/TR/html401/interact/forms.html#h-17.10 http://www.w3.org/TR/html401/sgml/dtd.html#block

Однако я не могу представить вариант использования, в котором это было бы сделано, если только вы не используете набор полей для оформления, что было бы неправильным использованием.

Форма, однако, не требует набора полей: http://www.w3.org/TR/html401/interact/forms.html#h-17.3

5 голосов
/ 18 августа 2017

Удар, потому что никто не дал действительный вариант использования для формы fieldset sans. Обоснованная причина использования набора полей без формы - использование входных данных для сбора информации для динамического отображения. Каждое изменение входа имеет значение в отображаемой информации. Нет смысла заполнять форму и нажимать кнопку отправить. Вы можете поместить форму вокруг набора полей, но это будет бесполезно. Однако набор полей визуально группирует входы, используемые для управления дисплеем (или игрой или чем-то еще).

5 голосов
/ 23 марта 2009

Если вы поместите набор полей вне формы, страница будет проверена, но я не вижу веской причины для этого, и если вы прочитаете xhtml 1.0 DTD , вы найдите этот комментарий в разделе fieldset:

Элемент fieldset используется для группировки полей формы. В содержимом должен присутствовать только один элемент легенды, и если он присутствует, ему должен предшествовать только пробел.

5 голосов
/ 18 марта 2009

FIELDSET является обычным элементом уровня блока и может использоваться в любом месте, где разрешены элементы уровня блока (кроме элемента BUTTON * 1008) *).

3 голосов
/ 18 марта 2009

Нет, вам не нужен набор полей в форме.

1 голос
/ 27 августа 2017

Я использовал набор полей вне формы, чтобы сгруппировать пользовательские фильтры данных JQuery. У меня было несколько выпадающих элементов «select» в fieldset, каждый для своей категории фильтрации. К каждому выпадающему списку были прикреплены события onchange, чтобы при выборе чего-либо строки в таблице данных были соответственно отфильтрованы. Текущие теги форм действительно не кажутся необходимыми в настоящее время с javascript / jquery.

1 голос
/ 29 июля 2016

Это не обязательно должно быть внутри формы, но лучше, по крайней мере, иметь отношение к форме с form="[form_ID]".

Допустимый вариант использования - это когда у вас есть несколько наборов элементов управления, которые распределены по частям неформального содержимого. В этом случае вам обычно нужно либо поместить все, связанное или нет, в форму (плохо) или повторять одну и ту же форму снова и снова (странно).

Принимая во внимание, что просто связать все наборы полей с одной формой намного проще.

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

1 голос
/ 10 июля 2014

HTML5 добавил новые атрибуты для fieldset:

form_id - указывает одну или несколько форм, к которым набор полей принадлежит

http://www.w3schools.com/tags/tag_fieldset.asp

1 голос
/ 18 марта 2009

Да, поскольку элемент fieldset используется для группировки связанных полей формы.

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