Newer
Older
reroad-test / 2020-skippage / yousan.js
@ryusei ryusei on 17 Jul 2020 1 KB edit files
function init() {
  var number = 0; // Current quiz Number
  var csvquestion; // Questions read from "quiz.csv"

  function prepare(n) { // Prepare Question Page of Number n
    var qn = csvquestion[n];
    for (var id of ["title", "q", "choice0", "choice1", "choice2"]) {
      document.getElementById(id).innerHTML = qn[id];
    }
    document.forms[0].reset(); // Reset radio buttons
    document.getElementById("image").setAttribute("src", "image/" + qn.image);
  }

  function judge() {
    var input = document.forms[0].q1.value;
    var selection = parseInt(input);
    var q = csvquestion[number];
    var ans = q.a;
    var output = document.getElementById("output");
    output.innerHTML = "";
    if (input == "") {
      alert('ボタンが選択されていません。');
      return;
    } else if (selection == ans) {
      output.innerHTML = "正解です: "
    } else {
      output.innerHTML = "不正解です: ";
    }
    output.innerHTML += q["comment" + selection];
  }

  function prev() {
    number = Math.max(0, number - 1);
    prepare(number);
  }

  function next() {
    number = Math.min(number + 1, csvquestion.length - 1);
    prepare(number);
  }
  fetch("./quiz.csv").
  then(function(resp) {
    return resp.text().then(function(text) {
      csvquestion = new CSV(text, {
        header: true
      }).parse();
      prepare(0);
    });
  });
  document.getElementById("judge").addEventListener("click", judge);
  document.getElementById("prev").addEventListener("click", prev);
  document.getElementById("next").addEventListener("click", next);
  // prepare(0);
}
window.onload = init;