什么时候应该在 HTML4/HTML5 中使用 name 属性?

Posted

技术标签:

【中文标题】什么时候应该在 HTML4/HTML5 中使用 name 属性?【英文标题】:When should I use the name attribute in HTML4/HTML5? 【发布时间】:2011-04-25 05:46:42 【问题描述】:

通过阅读 html4.01 和 HTML5 的 W3C 文档,我知道“name”属性最初作为 <a> 标记的属性存在,以允许人们链接到文档中的锚点。

然而,既然所有主要的浏览器供应商都允许通过“id”属性链接到文档中的任何 HTML 元素,那么“name”属性还有什么实际用途吗?如果是这样,我应该如何使用“名称”属性?

【问题讨论】:

【参考方案1】:

想到的一件事是单选按钮:您必须使用name 来指定哪些是同一组的一部分。

<form>
<input type="radio" name="sex" value="male" /> Male<br />
<input type="radio" name="sex" value="female" /> Female
</form> 

【讨论】:

【参考方案2】:

name 属性是必需的,我认为,input 元素(及其朋友)...

<input type="text" name="email" value="" />

【讨论】:

更具体地说,在提交表单时使用名称作为键。这也是浏览器如何知道哪些选项按钮相互配合的方式,因此当一个被选中时,其他的就会被取消选中。【参考方案3】:

好问题...正如其他答案中提到的,一个明显的用途是radio buttons,因此一次只能选择一个单选按钮,正如您在jQuery radio buttons - choose only one?中看到的那样

除此之外,在ASP.Net MVC 中,我还发现了name 属性的另一种用法。参考 MVC which submit button has been pressed

<input name="submit" type="submit" id="submit" value="Save" />
<input name="submit" type="submit" id="process" value="Process" />

来自http://www.w3schools.com/tags/att_button_name.asp

name 属性指定元素的名称。

name 属性用于在表单提交后引用表单数据,或引用 javascript 中的元素。

提示:多个元素可以共享相同的名称。这允许您拥有多个具有相同名称的按钮,它们在表单中使用时可以提交不同的值。

其他参考资料

    HTML5 How To Skip Navigation When Name Attribute Is Obsolete HTML5 Obsolete features HTML input - name vs. id

【讨论】:

另请参阅***.com/questions/21116999/…

以上是关于什么时候应该在 HTML4/HTML5 中使用 name 属性?的主要内容,如果未能解决你的问题,请参考以下文章

web前端开发需要用到哪些知识

T-SQL 语句中的前缀 N 是啥意思,啥时候应该使用它?

git add --intent-to-add 或 -N 有啥作用,啥时候应该使用?

什么时候应该实现一种简单或高级的排序算法?

什么时候应该在 Angular 中使用 styles.scss,什么时候应该使用组件的 scss

什么时候应该在 OCaml 中使用对象?