当我在页面上的文本框中输入一个值时,即使我输入" 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");
}
}
答案 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'
};
});