为什么这个代码工作而不是另一个? JavaScript的

时间:2017-05-22 16:31:35

标签: javascript html web

<!DOCTYPE HTML>
<html>
<head>
    <title></title>
</head>
<body>
        <input name="usrname" type="text" placeholder="Username" />
        <input name="comnts" type="text" placeholder="comments"/>
        <input id="btnButton" type="Submit" value="Click me"/>
</body>
 <script type="text/javascript">
        window.onload = function(){
           var refButton = document.getElementById("btnButton");
            refButton.onclick = function() {
                window.alert("Hi");
                //var name-"Bhuvanesh";
                //var Comment="Zack";
                //window.alert("Hello");
            }
        };
    </script>
</html>
  

上面的代码有效,下面的代码不起作用

    <!DOCTYPE HTML>
<html>
<head>
    <title></title>
</head>
<body>
        <input name="usrname" type="text" placeholder="Username" />
        <input name="comnts" type="text" placeholder="comments"/>
        <input id="btnButton" type="Submit" value="Click me"/>
</body>
 <script type="text/javascript">
        window.onload = function(){
           var refButton = document.getElementById("btnButton");
            refButton.onclick = function() {
                //window.alert("Hi");
                var name-"Bhuvanesh"; //Edited from - to =
                var Comment="Zack";
                window.alert("Hello "+name);
            }
        };
    </script>
</html>
  

我不明白为什么下面的代码不起作用。我使用了window.onload来确保页面呈现第一个。不知何故,代码似乎不起作用。我正在尝试创建一个简单的页面,可以接受文本框中的名称和注释,并将其显示在网页上。我对Web开发比较陌生。任何帮助表示赞赏。   编辑1:下面的代码似乎不起作用。

var name=document.getElementByName("usrname");
            var Comment=document.getElementByName("comnts");
            document.write(name+ "wrote "+Comment);

1 个答案:

答案 0 :(得分:0)

据我所知,getElementByName不是一个功能。您可以使用getElementsByName(请注意复数)。这将返回一个集合而不是一个元素。除此之外,你正在获取整个元素,而不是像你想要的那样获取元素的值。以下适用于我:

var name = document.getElementsByName("usrname")[0].value;
var comment = document.getElementsByName("comnts")[0].value;
document.write(name + "wrote "+ comment);