簡體   English   中英

警報消息按鈕

[英]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>

resultanswerPrompt1中聲明,這為它提供了局部范圍(即,在該函數外部不可見)。 將聲明移到函數之前:

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM