我已经学习了几个星期的HTML/CSS/JavaScript,现在我正在练习一个小型项目,其中包括让人们回答数学问题并验证他们的答案。以JS提示带var - 我怎样才能通过HTML表单?
我现在的进度可以在http://dany.faceflow.com
可以看出,我知道我可能没有使用最好的策略来开发这个迷你游戏,所以任何的建议是对有用的。然而现在,问题在于我通过JS提示接受了一个变量的用户回答,并且我想通过一个HTML表单(不那么讨厌)来实现。
在我的源代码,你可以看到在函数中这一行:
var userInput = prompt(numb1 + symbol + numb2);
然后,还在相同的功能,我有一个if/else结构给用户的答案与正确答案进行比较。代码的工作原理,我只是不知道如何使提示基于HTML的代替。我试过一个带有ID的html表单,并且在JS中使用getElementById,document.write和其他一些东西,但是我从来没有为它工作过。
(这里是所有的JS)
var number1 = function() {
var numb1 = Math.floor(Math.random() * 41) + 10;
return numb1;
}
var number2 = function() {
var numb2 = Math.floor(Math.random() * 41) + 10;
return numb2;
}
var userAnswer = function() {
var numb1 = number1();
var numb2 = number2();
var randomSymbol = Math.random();
if (randomSymbol > 0.5) {
var symbol = "+";
} else {
var symbol = "-";
}
// add the math question in the html bubble
document.getElementById('bubble').innerHTML = numb1 + symbol + numb2;
// Prompts the user to give an answer. Change this to HTML.
var userInput = prompt(numb1 + symbol + numb2);
//var userInput = document.getElementById('tw').value;
if (symbol == "+" && userInput == (numb1 + numb2)) {
document.getElementById('feedback').innerHTML = "Congratulations!";
} else if (symbol == "+" && userInput !== (numb1 + numb2)) {
document.getElementById('feedback').innerHTML = "Wrong!";
} else if (symbol == "-" && userInput == (numb1 - numb2)) {
document.getElementById('feedback').innerHTML = "Congratulations!";
} else if (symbol == "-" && userInput !== (numb1 - numb2)) {
document.getElementById('feedback').innerHTML = "Wrong!";
} else {
alert("Something wrong happened. Try again.");
}
return userInput;
}
(的HTML)
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="css/stylesheet.css" />
<script src="js/script.js"></script>
<title>Improve Your Math Skills!</title>
</head>
<body>
<center>
<button onclick="userAnswer()">PLAY NOW!</button>
<div id="bubble"></div>
<div id="feedback"></div>
<!-- <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> -->
</center>
</body>
</html>
谢谢
非常感谢。作为一个初学者,这正是那种能够让我快速改进的东西。我可以发现我犯的很多错误,现在我可以对未来进行纠正。我会继续构建游戏;)再次感谢,非常感谢! – 2013-04-06 10:57:20