javascript - 按 "Enter"将值打印到控制台日志

标签 javascript if-statement input keydown console.log

当我在页面上的文本框中输入值时,即使我在文本框中键入“yes”,控制台日志也会调用 if 语句中的 else 条件。我做错了什么?

<!DOCTYPE html>
<html>
    <head>
        <title> Choose your own adventure </title>
        <meta charset= "utf-8">
        <script src= "choose1.js"></script>
        <link type= "text/css" rel= "stylesheet" href= "choose1.css"/>
    </head>
    <body>
        <p> What do you do? </p>
            <input type= "text" id= "decision" name= "decision" onkeydown=  "if(event.keyCode === 13) confirm()" />
        </p>
    </body>
</html>

//choose1.js//
function confirm(){
    var begin= document.getElementById("decision");
    if(begin === "yes") {
        console.log("Success!");
    }
    else {
        console.log("Failure");
    }
}

最佳答案

因为begin指向 <input>元素本身,而不是其内容。您需要掌握该值:

var begin= document.getElementById("decision").value;

另外,请注意,已经有一个顶级函数 called confirm ,您可能需要考虑重命名您的名称,以免发生冲突。

关于javascript - 按 "Enter"将值打印到控制台日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37250239/

相关文章:

javascript - div 上的 Angular 指令,元素没有焦点方法

r - 如何根据 R 中的条件用字符串替换 NA?

css - 导致输入字段布局问题的奇怪 IE7 错误

git - 在 Jenkins 管道中添加 gitparameter

javascript - 客户端javascript函数

javascript - Three.js动态改变光照强度

javascript - JS - 如果只有 1 个条件,检查顺序会影响性能吗?

c# - 检查倒计时器是否为0

assembly - 如何检查 x86 程序集中的 key 状态?

javascript - 全局变量返回为未定义