【问题标题】:Why is this code working and not the other one? JavaScript为什么这段代码有效,而另一个无效? JavaScript
【发布时间】:2017-05-22 16:31:35
【问题描述】:
<!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);

【问题讨论】:

  • 这是一个语法错误:var name-"Bhuvanesh";
  • 你的作业中有一个类型,= 而不是 -...
  • var name-"Bhuvanesh"; 应该是var name = "Bhuvanesh";
  • name- 而不是 name=
  • 您好,感谢您的回复,@Filburt 谢谢您,但为什么这段代码不起作用? var name=document.getElementByName("usrname"); var Comment=document.getElementByName("comnts"); document.write(name+"写过"+Comment);

标签: javascript html web


【解决方案1】:

据我所知,getElementByName 不是函数。您可以使用getElementsByName(注意复数形式)。这将返回一个集合而不是一个元素。不仅如此,您还获取了整个元素,而不是您想要的元素的值。以下对我有用:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2019-01-03
    • 2019-12-13
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    • 2013-12-17
    相关资源
    最近更新 更多