答案 0 :(得分:29)
我认为这个问题和选择的答案都是误导性的。 form
是否必须包含fieldset
,以及fieldset
是否必须位于form
是两个不同的问题,有两个不同的答案。
根据HTML4.01规范,字段集是表单内部的有效元素,但由于它是标准的块级元素,因此在其他地方也可以接受: http://www.w3.org/TR/html401/interact/forms.html#h-17.10 http://www.w3.org/TR/html401/sgml/dtd.html#block
但是,我不能想象一个用例,除非你使用fieldset进行装饰,否则这将是不正确的用法。然而,表单不需要字段集: http://www.w3.org/TR/html401/interact/forms.html#h-17.3
答案 1 :(得分:5)
FIELDSET
是常规block level element,可以在允许使用块级元素的任何地方使用(BUTTON
element除外)。
答案 2 :(得分:5)
如果您在表单外放置一个字段集,页面会验证,但我认为没有任何理由这样做,如果您阅读 xhtml 1.0 DTD ,则会发现此评论在fieldset部分:
fieldset元素用于对表单字段进行分组。内容中只应出现一个图例元素,如果存在,则只能以空格开头。
答案 3 :(得分:5)
Bumping因为没有人为fieldset sans表单提供有效的用例。使用不带表单的字段集的正当理由是使用输入来收集动态显示的信息。输入的每次改变都会对显示的信息产生影响。没有填写表单和点击提交的意识。你可以在字段集周围放一个表单,但它没用。但是,字段集可视化地分组用于控制显示的输入(或游戏或其他)。
答案 4 :(得分:3)
不,您不需要表单中的字段集。
答案 5 :(得分:1)
是的,因为fieldset元素用于对相关的表单字段进行分组。
答案 6 :(得分:1)
答案 7 :(得分:1)
它不必位于表单内,但最好至少与"Lib-bus": {
"version": "1.0.0",
"target": "project"
}
的表单相关。
有效的用例是当您有多组控件分布在整个非表单内容中时。在这种情况下,您通常必须将所有内容(相关或不相关)放在表单内(不良)或反复重复相同的表单(很奇怪)。
只需将所有字段集链接到单个表单即可。
示例:在每个部分之后需要一些反馈的测试或投票或其他内容。
答案 8 :(得分:1)
我使用表单外部的字段集将自定义jquery数据表过滤器组合在一起。我有几个"选择"字段集中的下拉元素,每个元素用于不同类别的过滤。我有onchange事件附加到每个下拉列表,以便在选择某些内容时,数据表中的行将相应地进行过滤。现在,使用javascript / jquery,实际的表单标签似乎并不合适。