按"输入"将值打印到控制台日志

时间:2016-05-16 09:04:22

标签: 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");
    }
}

2 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:0)

错误的javascript代码。 begin对象是输入元素,因此如果要检查输入中的文本,请调用begin.value 代码:

app.directive('ccDd1', function() {
    return {
        restrict: 'E',
        scope: {},
        link: function() {

        },
        templateUrl: 'http://testdirective.apphb.com/default?waittime=3'
    };
});