<!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>
    <title></title>
</head>
<body>
    <form id="frmEdit">
    <input type="text" name="firstName" value="Zhang" />
    </form>
    <input type="text" name="firstName" value="Wang" />
</body>
<script>
    var firstName = document.getElementById("frmEdit").getElementsByName("firstName")[0].value;
    alert(firstName);
</script>
</html>我现在就是要找出frmedit这个form下面,name为firstName的对像
开始我以为很简单就用
document.getElementById("frmEdit").getElementsByName("firstName")[0].value;
但提示:document.getElementById("frmEdit").getElementsByName is not a function
但是如果用document.getElementsByName("firstName")[0].value,这样虽然正确
但显示不我的第一条件“找出frmedit这个form下面”不成立,
那这里应该怎么写呢?
谢谢

解决方案 »

  1.   

    试下:
    <div id="div">
    <input type="text" name="firstName" value="Zhang" /></div>document.getElementById("div").getElementsByName("firstName")[0].value;
      

  2.   

    RE:1楼
    同样错误RE:2楼
    现在写js多了,感觉有时自己写js更方便
    一般在绑事件和ready比较多用,取控件还是自己写好
    谢谢
      

  3.   

    form节点没有getElementsByName方法。
    <!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>
        <title></title>
    </head>
    <body>
        <form id="frmEdit">
        <input type="text" name="firstName" value="Zhang" />
    <input type="text" name="firstName" value="Zhang2" />
        </form>
        <input type="text" name="firstName" value="Wang" />
    </body>
    <script>
        var firstName = document.getElementById("frmEdit").firstName[1].value;
        alert(firstName);
    </script>
    </html>
      

  4.   


    <!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>
        <title></title>
    </head>
    <body>
        <form id="frmEdit">
        <input type="text" name="firstName" value="Zhang" />
        <input type="text" name="firstName" value="Wang" />
        </form>
    </body>
    <script>
        var firstName = document.getElementById("frmEdit").firstName.value;
        alert(firstName);
    </script>
    </html>我发现很奇怪,
    document.getElementById("frmEdit").firstName
    如果我的form里面只有一个firstname的话,那么就为直接取到对像
    如果有多个的话就变成了数组
    要是按我的理解,
    一个的话应该写为
    var firstName = document.getElementById("frmEdit").firstName[0].value;
    但这样是错的,只能用
    var firstName = document.getElementById("frmEdit").firstName.value;
    但是有两个firstName的话,上面那条又正确,
    这搞得有点头晕了。。哈哈,谁来解释一下,
    谢谢
      

  5.   

    <script>
        var firstName = document.getElementById("frmEdit")
         .elements["firstName"][0]
         .value;
        
        alert(firstName);
    </script>
      

  6.   

    一般都用getElementById取值,还不知道   form节点没有getElementsByName方法。学习下