Can';是否无法从JavaScript本地存储中检索数据?

Can';是否无法从JavaScript本地存储中检索数据?,javascript,local-storage,Javascript,Local Storage,我想知道你是否可以看看我的代码。我不明白为什么我不能检索本地存储中的数据。数据从表单中获取到本地存储,然后在表单提交页面上检索,但它似乎没有正确传输,因为当我尝试使用数据或打印数据时,没有发生任何事情或它没有显示。谢谢 gameFunctions.js //This is the Javascript code file for Spelling Game //variable to store which age group the user has selected var ageGrou

我想知道你是否可以看看我的代码。我不明白为什么我不能检索本地存储中的数据。数据从表单中获取到本地存储,然后在表单提交页面上检索,但它似乎没有正确传输,因为当我尝试使用数据或打印数据时,没有发生任何事情或它没有显示。谢谢

gameFunctions.js

//This is the Javascript code file for Spelling Game

//variable to store which age group the user has selected
var ageGroup;

//function that changes the audio files 
function ageSelected(age) {

  if (age == '6-9') {
    //changes the 'select a difficulty' text to confirm the user's difficulty selection
    document.getElementById("difficulty").innerHTML = "You have selected: <b>Ages 6-9</b>"

    //the remaining code changes the audio sources to the chosen difficulty
    document.getElementById("firstAudio").setAttribute("src", "sounds/stop.mp3");
    document.getElementById("audioContainerOne").load();

    document.getElementById("secondAudio").setAttribute("src", "sounds/breakfast.mp3");
    document.getElementById("audioContainerTwo").load();

    document.getElementById("thirdAudio").setAttribute("src", "sounds/together.mp3");
    document.getElementById("audioContainerThree").load();

    document.getElementById("fourthAudio").setAttribute("src", "sounds/saturday.mp3");
    document.getElementById("audioContainerFour").load();

    document.getElementById("fifthAudio").setAttribute("src", "sounds/goat.mp3");
    document.getElementById("audioContainerFive").load();

    ageGroup = "6-9";
  } else if (age == '10-13') {
    //changes the 'select a difficulty' text to confirm the user's difficulty selection
    document.getElementById("difficulty").innerHTML = "You have selected: <b>Ages 10-13</b>"

    //the remaining code changes the audio sources to the chosen difficulty
    document.getElementById("firstAudio").setAttribute("src", "sounds/government.mp3");
    document.getElementById("audioContainerOne").load();

    document.getElementById("secondAudio").setAttribute("src", "sounds/weird.mp3");
    document.getElementById("audioContainerTwo").load();

    document.getElementById("thirdAudio").setAttribute("src", "sounds/mortgage.mp3");
    document.getElementById("audioContainerThree").load();

    document.getElementById("fourthAudio").setAttribute("src", "sounds/recycle.mp3");
    document.getElementById("audioContainerFour").load();

    document.getElementById("fifthAudio").setAttribute("src", "sounds/questionnaire.mp3");
    document.getElementById("audioContainerFive").load();

    ageGroup = "10-13";
  } else if (age == '14-17') {
    //changes the 'select a difficulty' text to confirm the user's difficulty selection
    document.getElementById("difficulty").innerHTML = "You have selected: <b>Ages 14-17</b>"

    //the remaining code changes the audio sources to the chosen difficulty
    document.getElementById("firstAudio").setAttribute("src", "sounds/elimination.mp3");
    document.getElementById("audioContainerOne").load();

    document.getElementById("secondAudio").setAttribute("src", "sounds/technique.mp3");
    document.getElementById("audioContainerTwo").load();

    document.getElementById("thirdAudio").setAttribute("src", "sounds/retaliate.mp3");
    document.getElementById("audioContainerThree").load();

    document.getElementById("fourthAudio").setAttribute("src", "sounds/ambiguous.mp3");
    document.getElementById("audioContainerFour").load();

    document.getElementById("fifthAudio").setAttribute("src", "sounds/camouflage.mp3");
    document.getElementById("audioContainerFive").load();

    ageGroup = "14-17";
  }

  //stores ageGroup in localStorage
  localStorage.setItem("ageGroup", ageGroup);

  //removes the age select buttons after the player has chosen a difficulty
  document.getElementById("age69").style.display = "none";
  document.getElementById("age1013").style.display = "none";
  document.getElementById("age1417").style.display = "none";

  //displays the restart button to refresh the page
  document.getElementById("btnReset").style.display = "block";
}

//counts number of fields left blank
var count = 0;

//function to check that all questions have been answered
function validate(event) {
  //get all guesses
  var textBox = document.getElementsByClassName("textBox");

  //count the empty textboxes
  var i = textBox.length;

  for (i; i > count; i--) {
    if (textBox[i - 1].value == "") {
      count += 1;
    } else {
      count = 0;
    }
  }

  //output message if not all guesses are complete
  if (count != 0) {
    window.alert("You must answer all the questions!");
    event.preventDefault();
  } else {
    return true;
  }
}

//function called when clicking the submit button on the form
function submitAnswers() {
  //get the value inside of each textbox
  var answerOne = document.getElementById("firstGuess").value;
  var answerTwo = document.getElementById("secondGuess").value;
  var answerThree = document.getElementById("thirdGuess").value;
  var answerFour = document.getElementById("fourthGuess").value;
  var answerFive = document.getElementById("fifthGuess").value;

  //convert user inputted data to lower case so it matches the correct answer variables' case
  var lowAnswerOne = toLowerCase(answerOne);
  var lowAnswerTwo = toLowerCase(answerTwo);
  var lowAnswerThree = toLowerCase(answerThree);
  var lowAanswerFour = toLowerCase(answerFour);
  var lowAanswerFive = toLowerCase(answerFive);

  //put each value into localStorage
  localStorage.setItem("answerOne", lowAnswerOne);
  localStorage.setItem("answerTwo", lowAnswerTwo);
  localStorage.setItem("answerThree", lowAnswerThree);
  localStorage.setItem("answerFour", lowAanswerFour);
  localStorage.setItem("answerFive", lowAanswerFive);

  return true;
}

//function containing an if statement thatc ontrols which textbox to enter
//text into depending on whether the textbox is active or not
function typeLetter(letter) {

  if (document.getElementById("second").style.display == "block") {
    document.getElementById("secondGuess").value += letter;
  } else if (document.getElementById("third").style.display == "block") {
    document.getElementById("thirdGuess").value += letter;
  } else if (document.getElementById("fourth").style.display == "block") {
    document.getElementById("fourthGuess").value += letter;
  } else if (document.getElementById("fifth").style.display == "block") {
    document.getElementById("fifthGuess").value += letter;
  } else {
    document.getElementById("firstGuess").value += letter;
  }
}

//functions to control when each question is displayed after clicking a next 
or previous button

function nextQuestionOne() {
  document.getElementById("first").style.display = "none";
  document.getElementById("second").style.display = "block";
  document.getElementById("q2").innerHTML = "&#9899";
}

function previousQuestionOne() {
  document.getElementById("first").style.display = "block";
  document.getElementById("second").style.display = "none";
  document.getElementById("q2").innerHTML = "&#9898";
}

function nextQuestionTwo() {
  document.getElementById("second").style.display = "none";
  document.getElementById("third").style.display = "block";
  document.getElementById("q3").innerHTML = "&#9899";
}

function previousQuestionTwo() {
  document.getElementById("third").style.display = "none";
  document.getElementById("second").style.display = "block";
  document.getElementById("q3").innerHTML = "&#9898";
}

function nextQuestionThree() {
  document.getElementById("third").style.display = "none";
  document.getElementById("fourth").style.display = "block";
  document.getElementById("q4").innerHTML = "&#9899";
}

function previousQuestionThree() {
  document.getElementById("fourth").style.display = "none";
  document.getElementById("third").style.display = "block";
  document.getElementById("q4").innerHTML = "&#9898";
}

function nextQuestionFour() {
  document.getElementById("fourth").style.display = "none";
  document.getElementById("fifth").style.display = "block";
  document.getElementById("q5").innerHTML = "&#9899";
}

function previousQuestionFour() {
  document.getElementById("fifth").style.display = "none";
  document.getElementById("fourth").style.display = "block";
  document.getElementById("q5").innerHTML = "&#9898";
}

//function to refresh the page when the 'Restart Game' button is clicked
function refreshPage() {
  var confirmRefresh = confirm("Do you really want to restart the game?");

  if (confirmRefresh) {
    location.reload(true);
  }
}
//这是拼写游戏的Javascript代码文件
//变量以存储用户选择的年龄组
年龄组;
//用于更改音频文件的函数
已选择功能年龄(年龄){
如果(年龄='6-9'){
//更改“选择难度”文本以确认用户的难度选择
document.getElementById(“难度”).innerHTML=“您已选择:6-9岁”
//剩下的代码将音频源更改为所选的难度
document.getElementById(“firstAudio”).setAttribute(“src”、“sounds/stop.mp3”);
document.getElementById(“audioContainerOne”).load();
document.getElementById(“secondAudio”).setAttribute(“src”、“sounds/早餐.mp3”);
document.getElementById(“audioContainerTwo”).load();
document.getElementById(“thirdAudio”).setAttribute(“src”、“sounds/together.mp3”);
document.getElementById(“audioContainerThree”).load();
document.getElementById(“fourthAudio”).setAttribute(“src”、“sounds/saturday.mp3”);
document.getElementById(“audioContainerFour”).load();
document.getElementById(“fifthAudio”).setAttribute(“src”、“sounds/goat.mp3”);
document.getElementById(“AudioContainerFile”).load();
年龄组=“6-9”;
}否则,如果(年龄='10-13'){
//更改“选择难度”文本以确认用户的难度选择
document.getElementById(“难度”).innerHTML=“您已选择:年龄10-13”
//剩下的代码将音频源更改为所选的难度
document.getElementById(“firstAudio”).setAttribute(“src”、“sounds/government.mp3”);
document.getElementById(“audioContainerOne”).load();
document.getElementById(“secondAudio”).setAttribute(“src”、“sounds/weird.mp3”);
document.getElementById(“audioContainerTwo”).load();
document.getElementById(“thirdAudio”).setAttribute(“src”、“sounds/mortgage.mp3”);
document.getElementById(“audioContainerThree”).load();
document.getElementById(“fourthAudio”).setAttribute(“src”、“sounds/recycle.mp3”);
document.getElementById(“audioContainerFour”).load();
document.getElementById(“fifthAudio”).setAttribute(“src”、“sounds/inventory.mp3”);
document.getElementById(“AudioContainerFile”).load();
年龄组=“10-13”;
}否则如果(年龄='14-17'){
//更改“选择难度”文本以确认用户的难度选择
document.getElementById(“难度”).innerHTML=“您已选择:14-17岁”
//剩下的代码将音频源更改为所选的难度
document.getElementById(“firstAudio”).setAttribute(“src”、“sounds/elimination.mp3”);
document.getElementById(“audioContainerOne”).load();
document.getElementById(“secondAudio”).setAttribute(“src”、“sounds/technology.mp3”);
document.getElementById(“audioContainerTwo”).load();
document.getElementById(“thirdAudio”).setAttribute(“src”、“sounds/retariate.mp3”);
document.getElementById(“audioContainerThree”).load();
document.getElementById(“fourthAudio”).setAttribute(“src”、“sounds/muncify.mp3”);
document.getElementById(“audioContainerFour”).load();
document.getElementById(“fifthAudio”).setAttribute(“src”、“sounds/camovage.mp3”);
document.getElementById(“AudioContainerFile”).load();
年龄组=“14-17”;
}
//将年龄组存储在本地存储中
setItem(“年龄组”,年龄组);
//在玩家选择难度后移除年龄选择按钮
document.getElementById(“age69”).style.display=“无”;
document.getElementById(“age1013”).style.display=“无”;
document.getElementById(“age1417”).style.display=“无”;
//显示“重新启动”按钮以刷新页面
document.getElementById(“btnReset”).style.display=“block”;
}
//统计留空的字段数
var计数=0;
//功能检查所有问题是否已回答
函数验证(事件){
//猜谜
var textBox=document.getElementsByClassName(“textBox”);
//数一数空的文本框
var i=textBox.length;
对于(i;i>计数;i--){
如果(文本框[i-1]。值=“”){
计数+=1;
}否则{
计数=0;
}
}
//如果并非所有猜测都已完成,则输出消息
如果(计数!=0){
警告(“你必须回答所有问题!”);
event.preventDefault();
}否则{
返回true;
}
}
//单击表单上的“提交”按钮时调用的函数
函数submitAnswers(){
//获取每个文本框内的值
var answerOne=document.getElementById(“firstGuess”).value;
var answerTwo=document.getElementById(“secondGuess”).value;
var answerThree=document.getElementById(“thirdGuess”).value;
var answerFour=document.getElementById(“fourthGuess”).value;
var answerFive=document.getElementById(“fifthGuess”).value;
//将用户输入的数据转换为小写,使其与正确答案变量的大小写匹配
var lowAnswerOne=toLowerCase(answerOne);
var lowAnswerTwo=toLowerCase(answerTwo);
var lowAnswerThree=小写(answerThree);
var lowAanswerFour=toLowerCase(answerFour);
var lowAanswerFive=toLowerCase(answerFive);
//将每个值放入本地存储
setItem(“answerOne”,lowAnswerOne);
setItem(“answerTwo”,lowswertwo);
setItem(“answerThree”,lowAnswerThree);
setItem(“answerFour”,lowAanswerFour);
setItem(“answerFive”,lowAanswerFive);
返回true;
}
//包含if语句的函数,该语句控制要输入的文本框
//根据文本框是否处于活动状态,将文本转换为
功能
//This is the code for the Results page

//function verifies the player's answers, calculates score and gives option 
to add to leaderboard

function run() {

  //define correct answer variables
  var correctAnswerOne, correctAnswerTwo, correctAnswerThree,
    correctAnswerFour, correctAnswerFive;

  //define variable to keep player's score
  var playerScore = 0;

  //get ageGroup from localStorage
  var ageGroup = localStorage.getItem("ageGroup");

  //get answers from localStorage and store in variables
  var answerOne = localStorage.getItem("answerOne");
  var answerTwo = localStorage.getItem("answerTwo");
  var answerThree = localStorage.getItem("answerThree");
  var answerFour = localStorage.getItem("answerFour");
  var answerFive = localStorage.getItem("answerFive");


  //populate the table with player's answers
  document.getElementById("aOne").innerHTML = localStorage.getItem("answerOne");
  document.getElementById("aTwo").innerHTML = localStorage.getItem("answerTwo");
  document.getElementById("aThree").innerHTML = localStorage.getItem("answerThree");
  document.getElementById("aFour").innerHTML = localStorage.getItem("answerFour");
  document.getElementById("aFive").innerHTML = localStorage.getItem("answerFive");

  //depending on which ageGroup was selected, the correct answers are different
  if (ageGroup == "6-9") {
    //assign answers to variables
    correctAnswerOne = "stop";
    correctAnswerTwo = "breakfast";
    correctAnswerThree = "together";
    correctAnswerFour = "saturday";
    correctAnswerFive = "goat";

    document.getElementById("qOne").innerHTML = correctAnswerOne;
    document.getElementById("qTwo").innerHTML = correctAnswerTwo;
    document.getElementById("qThree").innerHTML = correctAnswerThree;
    document.getElementById("qFour").innerHTML = correctAnswerFour;
    document.getElementById("qFive").innerHTML = correctAnswerFive;

  } else if (ageGroup == "10-13") {
    //assign answers to variables
    correctAnswerOne = "government";
    correctAnswerTwo = "weird";
    correctAnswerThree = "mortgage";
    correctAnswerFour = "recycle";
    correctAnswerFive = "questionnaire";

    document.getElementById("qOne").innerHTML = correctAnswerOne;
    document.getElementById("qTwo").innerHTML = correctAnswerTwo;
    document.getElementById("qThree").innerHTML = correctAnswerThree;
    document.getElementById("qFour").innerHTML = correctAnswerFour;
    document.getElementById("qFive").innerHTML = correctAnswerFive;
  } else if (ageGroup == "14-17") {
    //assign answers to variables
    correctAnswerOne = "elimination";
    correctAnswerTwo = "technique";
    correctAnswerThree = "retaliate";
    correctAnswerFour = "ambiguous";
    correctAnswerFive = "camouflage";

    document.getElementById("qOne").innerHTML = correctAnswerOne;
    document.getElementById("qTwo").innerHTML = correctAnswerTwo;
    document.getElementById("qThree").innerHTML = correctAnswerThree;
    document.getElementById("qFour").innerHTML = correctAnswerFour;
    document.getElementById("qFive").innerHTML = correctAnswerFive;
  }

  if (answerOne == correctAnswerOne) {
    playerScore++;
    document.getElementById("cOne").innerHTML = "Yes";
  } else {
    document.getElementById("cOne").innerHTML = "No";
  }

  if (answerTwo == correctAnswerTwo) {
    playerScore++;
    document.getElementById("cTwo").innerHTML = "Yes";
  } else {
    document.getElementById("cTwo").innerHTML = "No";
  }

  if (answerThree == correctAnswerThree) {
    playerScore++;
    document.getElementById("cThree").innerHTML = "Yes";
  } else {
    document.getElementById("cThree").innerHTML = "No";
  }

  if (answerFour == correctAnswerFour) {
    playerScore++;
    document.getElementById("cFour").innerHTML = "Yes";
  } else {
    document.getElementById("cFour").innerHTML = "No";
  }

  if (answerFive == correctAnswerFive) {
    playerScore++;
    document.getElementById("cFive").innerHTML = "Yes";
  } else {
    document.getElementById("cFive").innerHTML = "No";
  }

  document.getElementById("score").innerHTML = "Your final score is: " + "<b>" + playerScore + "</b>";