一个name可以同时对应多个控件,比如checkbox和radio
而id必须是全文档中唯一的

id的用途
1) id是HTML元素的Identity,主要是在客户端脚本里用。
2) label与form控件的关联,
<label for="MyInput">My Input</label>
<input id="MyInput" type="text">
for属性指定与label关联的元素的id,不可用name替代
3)脚本中获得对象:IE支持在脚本中直接以id(而不是name)引用该id标识的对象。
例如上面的input,要在脚本中获得输入的内容,可以直接以 MyInput.value来获得。如果用DOM的话,则用document.getElementById("MyInput").value;
如果要用name的话,通常先得到包含控件的form,例如document.forms[0],然后从form再引用name,注意这样得到的是经过计算后将发送给服务器的值

name的用途
1)主要是用于获取提交表单的某表单域信息, 作为可与服务器交互数据的HTML元素的服务器端的标示,比如input、select、textarea、框架元素(iframe、frame、 window的名字,用于在其他frame或window指定target )和button等,这些元素都与表单(框架元素作用于form的target)提交有关,浏览器会根据name来设定发送到服务器的request, 在表单的接收页面只接收有name的元素, 所以赋ID的元素通过表单是接收不到值的。 我们可以在服务器端根据其Name通过Request.Params取得元素提交的值。在form里面,如果不指定name,就不会发送到服务器端。

2)HTML元素Input type='radio'分组,我们知道radio button控件在同一个分组类,check操作是mutex的,同一时间只能选中一个radio,这个分组就是根据相同的name属性来实现的。

3)建立页面中的锚点,我们知道<a href="URL">link</a>是获得一个页面超级链接,如果不用href属性,而改用name,如:<a name="PageBottom"></a>,我们就获得了一个页面锚点,如<strong><a name="1" id="1"></a>Experience (XP)</strong>,详见 示例

4)作为对象的Identity,如Applet、Object、Embed等元素。比如在Applet对象实例中,我们将使用其name来引用该对象。

5)在IMG元素和MAP元素之间关联的时候,如果要定义IMG的热点区域,需要使用其属性usemap,使usemap="#name"(被关联的MAP元素的Name)。

6)某些特定元素的属性,如attribute,meta和param。例如为Object定义参数<PARAM NAME = "appletParameter" VALUE = "value">或Meta中<META NAME = "Author" CONTENT = "Dave Raggett">。

最新文章

  1. 使用hibernate可以优化的地方
  2. 21. javacript高级程序设计-Ajax与Comet
  3. 【POI word】使用POI实现对Word的读取以及生成
  4. 基于nginx tomcat redis分布式web应用的session共享配置
  5. java的重修之路
  6. 转:PHP中实现非阻塞模式
  7. Linux命令行学习
  8. IE下 GIF不动失效的奇葩问题
  9. idea配置tomcat运行按钮置灰,下拉没有自定义的tomcat选项
  10. w3wp.exe进程占用内存过高解决方法
  11. Django REST framework 中文文档
  12. Spring ActiveMQ 整合(三): 确认机制ACK(收到消息后,应该有一个回应也就是确认答复)
  13. Python之路(第四篇):Python基本数据类型列表、元组、字典
  14. phalApi框架打印SQL语句
  15. CR与LF
  16. 原创:形象的讲解angular中的$q与promise
  17. TypeToken 是google提供的一个解析Json数据的类库中一个类
  18. mysql遇到的问题:can&#39;t creat/write to file &quot;/var/mysql/xxxx.MYI&quot;
  19. 安装centos minimal 版本后的网络配置(linux)
  20. cpio -H newc参数详解

热门文章

  1. Docker libnetwork(CNM)设计简介
  2. 初识Locust---认识
  3. unity3d相关资源
  4. MB11 生鲜项目原料消耗发货功能
  5. Redis六(管道)
  6. FPGA电源设计
  7. 覆盖bootstrap的样式
  8. NIO服务端和客户端通信demo
  9. HDU - 1151 Air Raid (最小路径覆盖)
  10. Java 基础总结(一)