html - 具有相同名称属性的输入字段的多个表单?是好是坏?

标签 html xhtml accessibility web-standards

在一个页面上有多个 HTML 表单,其输入字段共享相同的名称属性,这是一种可接受的做法吗?例如,该页面包含所有球员的列表,并且允许用户投票选出最佳球员,因此在每张球员卡片旁边都有此表格:

<form class="vote-for-player" enctype="application/x-www-form-urlencoded" method="post" action="/index/vote-for-best-player">
    <input type="hidden" name="player_id" value="1" />
    <input type="submit" name="vote_for_player" value="Vote" class="input-submit" />
</form>

当然,每个表单的隐藏输入字段的值属性是不同的。

假设页面上有 20 个这样的表单,这意味着 20 个输入字段的名称等于“player_id”。如果我通过 HTML 验证器传递该页面,即使使用 XHTML 1.0 Strict 文档类型,它也是有效的。但从网络标准或可访问性的角度来看,这是一种可以接受的做法吗?

有一件事我可以肯定,它使页面的服务器端处理更容易,因为我只需要从一个名为 player_id 的 POST 字段加载值。

最佳答案

同意楼上的回答。名称完全可以,并将作为表单的响应参数传递。如果您的输入元素也具有相同的 ID,则情况会有所不同 - 某些浏览器可能无法遍历文档的 dom。

再次,想想一堆单选按钮,用户可以在其中选择性别等。它们必须具有相同的名称(但不同的 ID)...

关于html - 具有相同名称属性的输入字段的多个表单?是好是坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2292384/

相关文章:

javascript - 20 秒后重播 .swf

android - 如果我重新安装我的应用程序,我的应用程序的辅助功能服务将无法使用

jquery - 设置 HTML 表格边框以合并表格,使其看起来像一个表格 (JQuery)

html - CSS对不同属性有不同的延迟

javascript - 如何访问相邻表格单元格中的文本?

.net - 打开外部 DTD(w3.org、xhtml1-transitional.dtd)时发生错误。 503 服务器不可用

android - WebView:如何找到当前页面的基本 URL?

jquery - 隐藏/显示 <div> 使页面变大

javascript - 在 React 中切换 aria-pressed 角色以实现 Web 可访问性的最有效方法

javascript - 在 &lt;input&gt; 上使用 "required"是不可访问的。有没有一种简单的方法让它可以访问(JS)或者我必须放弃它?