5

这是一个“最佳实践”问题。我正在阅读 Code Review StackExchage 网站,我看到了这个线程。在其中,Joseph Silber 建议对具有多个相同结构的表单输入行的表单完全使用括号表示法并避免使用 ID。

在我读过的关于网页设计/开发的书中,我从未见过这种策略被使用过。在标签标签中使用括号表示法和包装输入元素,以及在表单输入中不使用 id 标签是个好主意吗?也许关于 Javascript/JQuery 的某些东西使这种方法具有优势?

我想直接问约瑟夫,但我在网站上还没有任何声誉,所以我什至无法发表评论。但是,我有兴趣看到整个社区对此的看法,因为到目前为止,搜索“HTML5 括号表示法”和“HTML5 数组表示法”之类的东西对我来说还没有确定的结果。

以下是上述问题的摘要,其中包含从链接问题中借用的一些示例代码:

为什么使用这个:

<label>Comment:
  <input type="text" name="comment[]" width="50" />
</label>

而不是这个:

<label for="comment-0">Comment: </label>
<input type="text" id="comment-0" name="comment-0" width="50" />

在具有多行相同输入的表单中?

4

1 回答 1

5

粘贴[]在输入名称的末尾会导致一些服务器端表单处理库将数据呈现为数组。其他一些表单处理器不需要特殊语法。您的选择在很大程度上取决于您是否希望与前一种兼容,而不是拥有更复杂的名称并且无法通过 JS 中的点符号访问元素。

使用子元素而不是for属性将:

  • 使您不必生成唯一的 ID(如果类似的表单可以出现在单个页面上,则特别有用)
  • 限制您的样式选择
  • 兼容较少的浏览器(我认为唯一的损失是老版本的IE,没什么大的损失)。

所以那里有优点和缺点,你必须决定什么适合你。

于 2013-01-07T14:34:05.693 回答