我想选择一个以保持一致性(尽管我认为这并不重要)并选择了 id....viadocument.getElementById().
不再使用
- js访问的name属性
- 表单数组访问
关于这个有多个帖子......但只是为了让生活更轻松,不再考虑它......我只使用ID。
这个选择有问题吗?
我不太关心 N5 和 N6 以及 W3 规格。
以下是一些类似的帖子:
我想选择一个以保持一致性(尽管我认为这并不重要)并选择了 id....viadocument.getElementById().
不再使用
关于这个有多个帖子......但只是为了让生活更轻松,不再考虑它......我只使用ID。
这个选择有问题吗?
我不太关心 N5 和 N6 以及 W3 规格。
以下是一些类似的帖子:
ID 假设用于页面上每个元素的唯一 ID。所以在同一个文档中多次出现是无效的。
但是... NAME 属性可以在 html 标准中合法地重复。当 name 用于表单输入项时,cgi 接收的值基于 name=value 对。ID 没有固有的名称。
老实说..我认为你在这里混合苹果和橙子,因为两者的目的非常不同。
如果在一个页面上有多个带有多个输入的表单时,每个表单输入都使用id,那么您应该关心每个输入的标识符的唯一性。所以标识符可能会变得很长,比如“my-form-user-name”和“my-other-special-form-user-name”等。
所以我建议给表单元素一个id,通过id检索表单,然后按名称引用它的元素。为几个表单创建唯一且可读的标识符比为 5 个表单的 50 个字段(每个表单有 10 个字段)更容易。并且可能代码将更具可读性。
<h4>Article form</h4>
<form id="article-form" method="post">
<label>Title:</label>
<input name="title" type="text" />
<label>Text:</label>
<textarea name="text"></textarea>
<input type="submit" name="submit" value="Comment" />
</form>
<hr />
<h4>Support form</h4>
<form id="support-form" method="post">
<label>Title:</label>
<input name="title" type="text" />
<label>Text:</label>
<textarea name="text"></textarea>
<input type="submit" name="submit" value="Submit issue" />
</form>
<script type="text/javascript">
var article = document.getElementById('article-form'),
ticket = document.getElementById('support-form');
article['title'].value = 'My Article';
article['text'].value = 'The text of my article...';
ticket['title'].value = 'I found bug at your site';
ticket['text'].value = 'Bug description...';
</script>
但是,如果您在我的示例中使用标签并希望for
在其中使用属性将它们绑定到输入,那么无论如何您都需要具有该输入的标识符。