2013-09-29 78 views
2

我正在進行簡單的HTML5畫布練習並遇到了一些障礙。即使在checkAnswer函數中返回false後,我也無法讓頁面停止刷新。我已經搜索了高和低的答案,並嘗試了一些不同的東西,但似乎沒有任何工作。任何援助將不勝感激。我在這裏創建了一個JSFiddle http://jsfiddle.net/geekch1ck/ezSyf/頁面刷新即使返回false

我也不明白「{」錯誤「:」請在JSFiddle上使用POST請求「}」。

非常感謝您的幫助。我確信我錯過了一些相當簡單的事情,但是我無法在任何已經梳理的書籍或網站中找到它。

這裏是爲那些不想惹的jsfiddle

function getRandInt (min, max){ 
    return Math.floor(Math.random()*(max-min+1)) + min; 
    } 

    function checkAnswer(guess, answer){ 
    if (guess == answer){ 
     alert("Correct"); 
     setTimeout(drawText(equation),3000); 
     return true; 
     } 
    else{ 
     alert("Try Again"); 
     return false; 
     } 
    } 

    function drawCanvas(equation){ 
    //draw the Canvas 
    canvas = document.getElementById('myCanvas'); 
    context = canvas.getContext('2d'); 
    drawText(equation); 
    } 

    function drawText(equation){ 
    //add the text to the canvas 
    context.font = '40pt Veranda'; 
    context.fillText(equation, 50, 100); 
    } 

    $(document).ready(function(){ 
    drawCanvas(equation); 

    $("form").submit(function(){ 
     guess = document.getElementById("guess").value; 
     checkAnswer(guess, answer); 
     }); 

    }); 



    </script> 

    </head> 

    <body> 

    <canvas id = "myCanvas" width = "200" height = "200" style = "border:1px solid #000000;"> 
    </canvas> 

<form action=""> 
<p>What is the answer? <input type = "text" id = "guess" name = "guess"></p> 
</form> 
</body> 
</html> 
+0

真的! - > http://jsfiddle.net/ezSyf/2/ – adeneo

+0

甚至加了一些遞歸的計算 - > http://jsfiddle.net/ezSyf/3/ – adeneo

回答

1

你是誰,也許沒有返回checkAnswer的返回值的代碼?也許它應該是:

$("form").submit(function() { 
    guess = document.getElementById("guess").value; 
    return checkAnswer(guess, answer); 
}); 
+0

就是這樣!我認爲這件事很簡單,但卻讓我陷入了無盡的困境。非常感謝你。 – geekch1ck

相關問題