name属性主要使用在表单元素上,用于绑定发送表单数据是的参数名。
id属性主要用于在网页中标识元素和检索元素。
对非表单元素定义name属性其实相当于自定义了一个属性。
试试下面的例子:<html>
<body>
<span>
<input>
<SCRIPT LANGUAGE="JavaScript">
<!--
var s = document.all.tags("SPAN")[0];
alert(s.name)
alert(s.id)
var e = document.all.tags("INPUT")[0];
alert(e.name)
alert(e.id)
//-->
</SCRIPT>
</body>
</html>span不是表单元素,所以它的name属性不是空串而是未定义。此外name属性也用于检索窗口和meta对象。

解决方案 »

  1.   

    点一下test按钮后看看地址栏上多了几个参数:<BODY>
    <form name=f action="">
    <input name=i value="ii">
    <input id=j value="jj">
    </form>
    <button onclick="document.f.submit()">test</form>
    </BODY>
      

  2.   

    name要送到HTTP里,ID用来标识Document对象
      

  3.   

    name是可以重复的,ID则唯一,否则取不到值。
      

  4.   

    name和id都可以重复的,重复的情形下一般按元素集合处理(getElementById除外)