博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

form表单中的name和id的区别

Posted on 2011-04-08 12:39  huanying99  阅读(3477)  评论(2编辑  收藏  举报

id就像是一个人的身份证号码,name就是他的名字,显然,id是不可以重复的,而name是可以重复的,两者都是为了标识对象名称。

它们所不同的是:name是Netscape的、id是Microsoft的。

表单元素(form   input   textarea   select)与框架元素(iframe   frame)用name。

这些元素都与表单(框架元素作用于form的target)提交有关,
表单的接收页面只接收有name的元素。例如:request.Form("tyxl"),其中tyxl是提交页面中某个元素的name属性值。所以通过表单接收到的不是id值,而是name值

在控制脚本元素,事件处理是一般都是用的id值,如:

<FORM action="" method=POST id=form2 name=form1>   
    
<SCRIPT LANGUAGE=javascript>   
<!--
alert(form2.name)
//alert(form1.name) 就是错误的
//-->
</SCRIPT>

获取id值的另一个方法就是 id=document.getElementById("id")

同理,获取name值的另一个方法是 name=document.getElementByName("name")

赋  name:  document.formName.inputName        document.frames("frameName")  
赋  ID    :  document.all.inputID                      document.all.frameID  

只能赋ID不能赋name的元素:(除去与表单相关的元素都只能赋ID)  
body  li  a  table  tr  td  th  p  div  span  pre  dl  dt  dd  font  b  等等