$(function(){ var lenQuiz = 14; var storageKey = "QuizInvisible.answers"; var userAnswers = JSON.parse(localStorage.getItem(storageKey)); var cleared = false; var allCorrect = false; if (userAnswers == undefined || userAnswers.length != $(".answers").length) { userAnswers = Array(lenQuiz); userAnswers.fill(""); } else { var $answers = $(".answers"); for (var i=0; i<$answers.length; i++) { $answers.eq(i).val(userAnswers[i]); } } var difficulty = 1; var shuffle = true; function updateQuizzes() { $.ajax({ url: "getQuizzes.php", type: "GET", data: { "answers": userAnswers, "difficulty": difficulty, "shuffle": shuffle, }, dataType: 'json', success: function (data) { console.log(data); var $questions = $(".questions"); for (var i=0; i<$questions.length; i++) { $questions.eq(i).html(data.questions[i]); } var $answers = $(".answers"); var ok = true; for (var i=0; i<$answers.length; i++) { if (data.isCorrect[i]) { $answers.eq(i).addClass("isCorrect"); } else { ok = false; $answers.eq(i).removeClass("isCorrect"); } } if (ok) cleared = true; allCorrect = ok; /* if (cleared && !allCorrect) { $("#perfect").css("color", "red"); } else { $("#perfect").css("color", ""); } */ $("#judge").html(data.judge); $("#message").text(data.message); $("#goal").text(data.goalText); $("#goal").attr("href", data.goalHref); $("#twitterArea").html(data.tweetButton); localStorage.setItem(storageKey, JSON.stringify(data.correctAnswers)); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert('送信に失敗しました。'); console.log(XMLHttpRequest.responseText); } }); } $(".answers").keyup(function() { var number = $('.answers').index(this); var val = $(this).val(); if (val != userAnswers[number]) { userAnswers[number] = val; if ($(this).val().length == $(this).attr("maxlength") || JSON.parse(localStorage.getItem(storageKey))[number] != "") { updateQuizzes(); } } }); updateQuizzes(); });