对 (表单属性) 感到困惑

5
我对使用表单属性(Form=" ")感到困惑。
来自MDN:
一个输入框最多只能与一个表单相关联。
来自W3S:
form属性指定了一个或多个表单元素所属的表单。要引用多个表单,请使用以空格分隔的表单ID列表。
那么,我可以将输入框与多个表单关联吗?还是不行?哪个是正确的?

据我所知,一个输入只与一个表单相关联。将寻找RFC... 一个好的经验法则是W3C上的所有内容都是错误的。 - ficuscr
哎呀,我是指 w3schools 网站。 - ficuscr
1个回答

4
No..在HTML5发布之前,不存在from属性。您需要查看DOCTYPE并进行判断。
在HTML5之前,如果确实需要,可以使用Javascript和Xhr来执行该类型的行为。
我找到了您引用的示例you cited...
Last name: <input type="text" name="lname" form="form1">

这是HTML5表单规范的描述: https://www.w3.org/TR/html5/sec-forms.html#element-attrdef-formelements-form 这个特性允许作者解决嵌套表单元素缺乏支持的问题。
如果可重新关联的表单关联元素具有指定form属性,则该属性的值必须是元素所属文档中form元素的ID。
RFC中还有很多其他评论。建议查看那里。
好的文章:https://www.impressivewebs.com/html5-form-attribute/ 更新: 经过更多考虑,没有看到任何东西表明一个form属性可以指定多个表单。支持这一点的W3C规范最简洁的文本为:"form-将控件与一个表单元素关联"

抱歉,我是一个学习HTML的初学者,你有简单的答案或解释吗? - Karem Gmeay
3
@ficuscr - 但 w3schools.com 在这一点上是错误的。它说 form 属性可以是 id 的空格分隔列表。但是你从 HTML5 规范中引用的内容表明,它必须是单个 id。因此,任何时候只能将一个 form 与控件关联起来。 - Alohci
@Alohci 我承认我还有点困惑。似乎规范仍然禁止嵌套<form>元素。但我同意,大多数其他“规则”似乎都是关于维护单个关联的。 - ficuscr
1
是的,没错。这就是表单属性的主要作用,以解决在 text/html 序列化中无法嵌套表单的问题。请注意,您可以在 DOM 和 application/xhtml+xml 序列化中嵌套表单,但这仍然是不符合规范(即无效)的做法。 - Alohci
@ficuscr 你能给我你的Facebook账号或者任何可以联系到你的方式吗? - Karem Gmeay
@KaremGmeay 的 Twitter 账号在个人资料中。 - ficuscr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接