我正在尝试做一点小测验。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Quiz</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
</head>
<body>
<div id="question"></div>
<form>
<input type="text" id="answer">
<button onClick="check()">Check</button>
</form>
<script>
var spanish = new Array("Hola", "Sí", "No");
var english = new Array("Hello", "Yes", "No");
var x = Math.floor(Math.random()*3);
document.getElementById("question").innerHTML = english[x];
var attempt = document.getElementById("answer");
var correct = spanish[x];
function check(){
if(attempt == correct){
alert("Correct");
}else{
alert("Fail");
};
};
</script>
</body>
</html>
无论我是否正确,它都会返回失败。你知道怎么解决这个问题吗?我环顾四周但却无法弄清楚出了什么问题。感谢。
答案 0 :(得分:2)
您需要在点击按钮时检查是否有尝试。您当前正在检查页面加载(因此它总是一个空字符串,导致correct == attempt
为false)。此外,您需要获取值,而不是元素。
所以,将你的功能改为:
function check() {
var attempt = document.getElementById("answer").value;
if (attempt == correct) {
alert("Correct");
} else {
alert("Fail");
};
};