可以输入表单属性指定多个表单ID吗?或不?

时间:2014-08-21 00:53:46

标签: html5 forms input attributes

w3schools 指定: “定义和用法: form属性指定元素所属的或更多形式。“ 在http://www.w3schools.com/tags/att_input_form.asp

和 “提示:要引用多个表单,使用以空格分隔的列表表单ID。” 在http://www.w3schools.com/html/html5_form_attributes.asp

developer.mozilla .org声明: “输入只能与一个表单相关联。” 在https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input

谁在这里?

2 个答案:

答案 0 :(得分:5)

没有明确的肯定答案。它接缝我们只能说,因为在W3联盟规范中没有任何地方声明输入可以与多种形式相关联,这意味着它不能; (并且还得出结论,如CBroe所指出的那样,学校的信息应该带有一丝盐味)。

当我测试它时 - 使用带有ID的两种形式" form1"和" form2",以及'外部'将form-attribute设置为form =" form1 form2"的input元素 - 此输入未提交任何表格。这意味着,由于form-attribute并未完全设置为一个表单id,因此它不会将其连接到任何表单。

此外,在测试中,我添加了第三种形式,其形式为id =" form1 form2"。这导致输入元素(在所有表单之外,form-attribute设置为form =" form1 form2")以使用此表单提交,但不是使用id =&#34的表单; form1中"也不是带有id =" form2"。

的表格

因此,凭借我有限的知识,我敢于做出结论:

通过为其form-attribute指定空格分隔的id(或最有可能通过任何其他方式),一个输入元素不能与多个表单关联。

此问题与Multiple form ID's in HTML5's input form attribute重复,但此处有更详细的解释。

答案 1 :(得分:0)

在这一点上,官方规范几乎是明确的-不可能将一个输入与一个以上的形式连接起来

https://www.w3.org/TR/2012/WD-html-markup-20120315/input.text.html#input.text.attrs.form

属性form的有效值是“ ID reference”,而不是“ list of ID references

您可以做一些这样的小技巧:

<style> {
    input[type="submit"] {display: none;}
    label { ...button-layout-css...}
</style>
<form...>
    <input name="f1" type="text" />
    <input name="f2" type="text" />
    <label for="btn1">...</label><input id="btn1" type="submit" name="fields" value="[f1]" />
    <label for="btn2">...</label><input id="btn2" type="submit" name="fields" value="[f2]" />
    <label for="btn3">...</label><input id="btn3" type="submit" name="fields" value="[f1,f2]" />
</form>