[英]Alert Message Button
試圖獲取名為“ check”的按鈕,以顯示答案提示1函數的var結果。 無論出於何種原因,當我運行代碼時,單擊按鈕都不會發生任何事情。 我知道計算是正確的,因為當我設置答案按鈕以發出預期的警報時,它可以正常工作。 如何獲得第二個按鈕以顯示輸入的結果?
<!DOCTYPE html>
<head>
<!--
Name: Dakota Trumbull
Date:
Class:
Purpose:
-->
<title>Math Test</title>
</head>
<body>
<h1>Simple Math Test</h1>
<p>Q1: 5 + 9 = ??</p>
<button id = "Q1A" onclick = "answerPrompt1()">Answer</button>
<button id = "Q1C" onclick ="showResult()">Check</button>
<p></p>
<p>Q2: 4 * 6 = ??</p>
<button id = "Q2A">Answer</button>
<button id = "Q2C">Check</button>
<p></p>
<p>Q3: 25 - 14 = ??</p>
<button id = "Q3A">Answer</button>
<button id = "Q3C">Check</button>
<p></p>
<p>Q4: 48 / 3 = ??</p>
<button id = "Q4A">Answer</button>
<button id = "Q4C">Check</button>
<p></p>
<p>Q5: 26 % 6 = ??</p>
<button id = "Q5A">Answer</button>
<button id = "Q5C">Check</button>
</body>
<script>
//Q1
function answerPrompt1()
{
var answer1 = prompt("Enter your answer: ");
var convertedNum1 = parseInt(answer1, 10);
var result = (convertedNum1 == 14)? "You're right!" :
"Sorry, that's incorrect.";
}
function showResult()
{
alert(result);
}
</script>
</html>
result
在answerPrompt1
中聲明,這為它提供了局部范圍(即,在該函數外部不可見)。 將聲明移到函數之前:
var result = "You have not given an answer yet"; function answerPrompt1() { var answer1 = prompt("Enter your answer: "); var convertedNum1 = parseInt(answer1, 10); result = (convertedNum1 == 14)? "You're right!" : "Sorry, that's incorrect."; } function showResult() { alert(result); }
<body> <h1>Simple Math Test</h1> <p>Q1: 5 + 9 = ??</p> <button id = "Q1A" onclick = "answerPrompt1()">Answer</button> <button id = "Q1C" onclick ="showResult()">Check</button> </p> </body>
您應該更改result
變量,使它可以同時被answerPrompt1()
和showResult()
函數訪問。您可以從這里對javascript范圍的工作方式有一個清晰的了解。
var result = "You have not given an answer yet"; //this variable is accessible to both functions
function answerPrompt1()
{
var answer1 = prompt("Enter your answer: "); //this variable only accessible inside the function answerPrompt1()
var convertedNum1 = parseInt(answer1, 10);
result = (convertedNum1 == 14)? "You're right!" :
"Sorry, that's incorrect.";
}
function showResult()
{
alert(result);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.