具有相同名称的多个HTML表单可以吗?

前端之家收集整理的这篇文章主要介绍了具有相同名称的多个HTML表单可以吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有理由想要这样做,但这是一个漫长的故事,所以我会忘记解释为什么,只要问是否可以做.

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

<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规范,您可以使用具有相同名称属性的表单元素,因为它们没有唯一性要求.不过这样做是为了打败这样的属性的目的.它们旨在使客户端脚本中的表单更容易引用:如果您有< form name = foo>,则document.foo引用该表单.

当使用相同的名称属性时会发生什么,但是什么浏览器似乎要做的是返回一个数组.在你的例子中,document.foo将是一个3元素的数组,document.foo [0]是第一个表单.但是这没有用,因为(假设文档中没有其他表单),你可以使用document.forms [0],具有明确的含义.

名称属性本身对于表单元素过时(但不适用于表单字段,其中它必须保留). HTML 4.01 spec clause on form说:

“name = cdata [CI]
属性命名元素,以便可以从样式表或脚本引用该元素.注意.此属性已被包括用于向后兼容.应用程序应使用id属性来标识元素.

在HTML5草稿中,即使是正式规则也不允许使用相同的名称属性. HTML5 clause on the name attribute on form表示,它的价值“在表单收集中的表单元素中必须是唯一的,如果有的话”.这是一个混乱的表述,但最安全的是假定它在文档的表单元素中必须是唯一的.

猜你在找的HTML相关文章