网页表单 |始终使用 Id 进行访问
HTML Forms | Always using Ids to access
我想选择一个一致性(虽然我认为这并不重要)并使用了 id....通过document.getElementById().
不再使用
- 用于 JS 访问的名称属性
- 表单数组访问
关于此有多个帖子...但只是为了让生活变得轻松,不再考虑它..我只使用 id。
这个选择有什么问题吗?
我不太关心 N5、N6 和 W3 规格。
以下是一些类似的帖子:
最佳实践:通过 HTML ID 或名称属性访问表单元素?
如果对
每个表单输入使用 id,当您在一个页面上有多个具有多个输入的表单时,您应该关心每个输入的标识符的唯一性。因此,标识符可以变得很长,例如"我的表单用户名"和"我的其他特殊表单用户名"等。
所以我建议给表单元素一个id,通过id检索表单,然后按名称引用其元素。为几个表单创建唯一且可读的标识符比为 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
将它们绑定到输入,那么无论如何您都需要该输入的标识符。
ID
假定用于页面上每个元素的唯一 ID。 因此,在同一文档中多次使用是无效的。
但。。。NAME 属性可以在 html 标准中合法地重复。当在表单输入项上使用名称时,cgi 接收的值基于名称=值对。ID 没有固有的名称。
老实说..我认为你在这里混合苹果和橙子,因为两者有非常不同的目的。
相关文章:
- 如何使用父id访问子项
- 如何通过查找函数及其 ID 访问和操作 HTML 表
- 可以't通过其ID访问SVG
- 为什么可以't我通过ID访问这个动态加载的DOM元素(没有iframe)
- AngularJS通过匹配ID访问更多详细信息
- 如何在 AngularJS 中通过 id 访问 iframe
- 基于 id 访问 url 时存在角度路由问题
- 如何使用 javascript 函数通过 ID 访问 asp 控件
- 通过 Id 访问 Iframe 元素,给出 null
- 使用 DOM 元素的 id 访问插件实例
- 通过 ID 访问 DOM 元素
- IE 10,document.links无法使用链接的ID访问,而只能使用索引访问
- 尝试使用元素ID访问对象值的本地javascript
- 可以't使用其新id访问元素
- AngularJS通过ng repeat内部的id访问DOM元素
- 通过表单id访问单选按钮值
- 通过Javascript中元素数组中的id访问HTML元素是不起作用的
- 通过ID访问表单
- 我如何通过span ID访问span内的ASP控件
- 使用jquery通过id访问输入字段的值