<input type="text" name="myOptionName" value="CSS">document.getElementByName("myOptionName").valuedocument.getElementsByName("myOptionName").valuedocument.getElementId("myOptionName").value第一个报错说不支持属性。
第二个得到市空值。
第三个可得到值css。这几个有三名细微区别吗?
document.getElementByName方法没有。
document.getElementsByName得到的是标签的数组
document.getElementId得到的是某一个标签getElementByName不存在
只有getElement__S__ByName 和 getElementById
byId 的时候,会根据html元素的id属性,根据规范id应当是唯一的,用来标示一个element,比如<td>, <div> ......。所以返回唯一元素句柄或者null。对于表单控件<input><select><textarea>等,在不指定id的时候,name也会被视作id,比如<input type="text" name="abc" value="123">也可以用document.getElementById("abc")来获取
而byName,从名字上看,就可以知道,它返回的是复数个对象。它根据name属性(name可以重复),得到所有name属性与参数相同的控件组成的数组,不存在时,返回0长度数组(.length == 0,而不是null)比如<input type="text" name="abc" value="1"><input type="text" name="abc" value="2"><input type="text" name="abc" value="3">var array = document.getElementsByName("abc");if (array.length == 0) {alert("Error");return;}for (var i = 0; i < array.length; i++) {alert(array.value);}

解决方案 »

  1.   


    document.getElementById("UserName")// 返回这个INPUT输入框document.getElementsByName("UName") //返回属性Name为UName所有节点document.getElementsByTagName("input") //返回所有INPUT类型的点。
      

  2.   

    getElementById取出的是一个元素
    getElementsByName取出的是数组
    没有getElementByName
      

  3.   

    在元素标签中,id是唯一的,name值是可重复的
    document.getElementById("UserName");// 返回id值为UserName的元素
    document.getElementsByName("UserName");// 返回name值为UserName的元素数组
    document.getElementsByTagName("input");//返回 标签名为input的元素数组
      

  4.   


    <input type="text" name="myOptionName" id="myOptionName" value="CSS">
    <script>
    //alert("1:"+document.getElementByName("myOptionName").value);//此用法在ff下报错alert("2:"+document.getElementsByName("myOptionName")[0].value);//此函数是得到所有的name=myOptionName的标签值,确定要得到哪一个才行alert("3:"+document.getElementById("myOptionName").value);//直接得到了某个标签值,因为id是唯一的
    </script>
      

  5.   

    不过ms在ie6下getElementsByName有个bug,它会返回id等于name的元素,如下的例子:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test</title>
    </head><body>
    <input name="test" type="text" />
    <input name="test" type="text" />
    <input id="test" type="button" />
    <script type="text/javascript">
    var test=document.getElementsByName("test");
    alert(test.length);
    </script>
    </body>
    </html>这段代码本来该显示2;但是在ie6下显示3,火狐下显示为2
      

  6.   


    document.getElementByName("myOptionName").value  这个方法不存在少sdocument.getElementsByName("myOptionName").value   是数组应该是document.getElementsByName("myOptionName")[0].value document.getElementId("myOptionName").value
      

  7.   


    document.getElementByName("myOptionName").value  这个方法不存在少sdocument.getElementsByName("myOptionName").value   是数组应该是document.getElementsByName("myOptionName")[0].value document.getElementId("myOptionName").value
      

  8.   

    getElementById("Id")是根据元素的Id取得html元素的对象
    getElementsByName("name")根据元素名称取得一个数据,将该页面上所有叫一样名字的都得到。例如:raido,要是一组radio单选按钮,他们的名字肯定一样。
    没有getElementByName这个是拼错了的。