【发布时间】:2022-04-23 03:53:54
【问题描述】:
我不确定fieldset form 属性的含义是什么。 MDN 说:
此属性采用
<form>元素的id 属性值,您希望<fieldset>成为一部分,即使它不在表单内。请注意,这种用法会造成混淆——如果您希望<fieldset>中的元素与表单相关联,则需要直接在这些元素上使用 form 属性。
这意味着fieldset 的字段不会自动包含在form 中(如果您想要它们,您必须将form 属性放在每个字段上),但fieldset 是部分表单。这究竟是什么意思?
The spec 说:
form 属性用于将字段集元素与其表单所有者显式关联起来。
表单所有者是 linked 到注释
与表单相关的元素可以与表单元素具有关系,该元素称为元素的表单所有者。
它在没有任何解释的情况下结束 relationship 应该是什么。如果您是fieldset,您能否用明确的术语描述与form 建立关系的感觉?
验证代码
<form id="myform">
<input name="happy" value="happy">
<button>Send</button>
</form>
<fieldset form="myform">
<input name="unhappy" value="unhappy">
</fieldset>
unhappy 输入未与表单一起发送。
【问题讨论】:
-
它使整个字段集链接到该表单,因此该表单正在提交该字段集中的输入,就像您可以为input fields -> form 做相反的事情一样。这很不言自明......
-
@vsync 它没有 - 正如我所指出的,MDN 对此发出警告,并且在我测试时,不会发送其中的输入。
-
我想我明白你问的问题(你在表单外设置了一个字段,尝试提交表单,字段集中输入元素的内容不发送),但问题是措辞相当混乱。也许您可以添加一个示例 HTML 或其他内容?
-
@JanTuroň - 我认为有问题的关系是语义。不过,我确实觉得
<fieldset form="x">...</fieldset>中的表单元素不会自动包含在表单中,这很奇怪。如果在提交表单时不包含这些元素,那么涉及表单和表单元素(在字段集中)的语义关系似乎没有什么意义。事实上,我认为这样的语义充其量是有问题的...... :-) -
它所做的一件显而易见的事情是在
标签: html relationship fieldset