gpt4 book ai didi

html - 多个 HTML 表单同名可以吗?

转载 作者:技术小花猫 更新时间:2023-10-29 12:04:31 24 4
gpt4 key购买 nike

我有充分的理由想要这样做,但这是一个很长的故事,所以我会忘记尝试解释原因,只是问问是否可以这样做。

我有一个页面,我需要有多个具有相同名称的表单,但我只想提交其提交按钮被点击的表单。例如,以下内容可能在我的页面上:

<form name="input" action="" method="get">
Username: <input type="text" name="user" />
<input type="submit" value="Submit" />
</form>

text

<form name="input" action="" method="get">
Username: <input type="text" name="user" />
<input type="submit" value="Submit" />
</form>

text

<form name="input" action="" method="get">
Username: <input type="text" name="user" />
<input type="submit" value="Submit" />
</form>

这可以接受吗?

最佳答案

关于 HTML 4.01 规范,您可以使用 formname相同的元素属性,因为对它们没有唯一性要求。但是,这样做违背了这些属性的目的。它们旨在使在客户端脚本中更容易引用表单:如果您有 <form name=foo> , 然后 document.foo指的是那个表格。

未定义当相同 name 时会发生什么使用属性,但浏览器似乎做的是返回一个数组。在您的示例中,document.foo将是一个 3 元素数组,带有 document.foo[0]作为第一种形式。但这没有用,因为(假设文档中没有其他形式)您可以使用 document.forms[0] , 具有明确的含义。

name form 属性本身已过时元素(但不适用于表单字段,它一直是必不可少的)。 HTML 4.01 spec clause on form 说:

name = c数据[CI] 此属性命名元素,以便可以从样式表或脚本中引用它。笔记。包含此属性是为了向后兼容。应用程序应使用 id属性来标识元素。”

在 HTML5 草案中,即使是正式规则也不允许使用相同的 name属性。 HTML5 clause on the name attribute on form 表示它的值“在 form 中必须是唯一的” forms 中的元素它所在的集合,如果有的话”。这是一个令人困惑的公式,但最安全的假设是它在 form 中必须是唯一的。文档的元素。

关于html - 多个 HTML 表单同名可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11111670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com