有兩個數字。用戶填寫回答&點擊輸入或「下一步」按鈕(激活表單)只有在答案正確時才返回false。
我希望窗體始終「返回false」,因爲所有下一個操作都使用javascript加載。 只要用戶一直填寫正確的答案,但是當你填寫錯誤的答案時,它會首先向你顯示「嗨,這是什麼?」框,但twhen用戶試圖再次回答,整個頁面realoaded:/
你可以在這裏看到: http://skolresurser.se/matematik/simple/
HTML
<form id="theChallenge">
<h1>
<span class="first">2</span>
<span style="position: relative; top: 0.24em; margin: 0 6px;">*</span>
<span class="second">6</span>
<span style="margin-left: 0.13em; font-size: 0.8em; position: relative; top: -0.13em; margin-right: -0.60em;">=</span>
</h1>
<div id="notReally" style="display: none;">
<h2>Not reeaaaaally:</h2>
<span id="actually"></span>
</div>
<input type="number" class="answerInput"><br>
<button class="2btn btn-large btn-success checkAnswer" href="#">Next</button>
</form>
JS:
$(function() {
function biggestNumber() {
return Math.max.apply(this, arguments);
}
$("#theChallenge").submit(function() {
first = $(".first").text();
second = $(".second").text();
correctAnswer = parseInt($(".first").text()) * parseInt($(".second").text()); //parseInt = omvandla text till siffra.. och slå ihop de två alternativen! och detta är då vårt rätta svar
theAnswer = $(".answerInput").val() //Vad har användaren skrivit in för svar?
alert('first' + first);
//Check if answer is correct
if (theAnswer == correctAnswer) {
//Create new numbers
var randomNum = 1 + Math.ceil(Math.random() * 12); /* Pick random number between 1 and 12 */
$('.first').text(randomNum);
var randomNum = 1 + Math.ceil(Math.random() * 12); /* Pick random number between 1 and 12 */
$('.second').text(randomNum);
} else {
//Show the person doing the test that
$("#notReally").slideDown('fast');
$("h1").slideUp('medium');
biggestNumber = biggestNumber(first, second); //en funktion som är inlagd längre upp!!
if (biggestNumber == first) { //Om största numret = första numret, då är det, det andra numret vi vill stapla upp, annars är det ju första siffran vi vill stapla upp "största siffran antalet gånger".
theOtherNumber = second;
} else {
theOtherNumber = first;
}
staplaUpp = theOtherNumber; //Börja med att lägga in den mindre siffran en gång först, och sedan för varje till " +siffran "
for (var i = 0; i < biggestNumber - 1; i++) { //För varje antal det finns av den mindre siffran, stapla upp den med plus emellan!
staplaUpp = staplaUpp + '<span style="margin:0 0.2em;">+</span>' + theOtherNumber;
}
$("#actually").append(staplaUpp);
}
$(".answerInput").val('');
alert('first' + first);
return false;
});
});
爲什麼不在別的返回false? –
我現在試過了,還是同樣的問題 – Alisso
現在效果很好! :)隨時告訴孩子們學習時間表,以便用它來練習練習:) – Alisso