javascript - 使用本地存储存储和显示多个答案

标签 javascript string html button local-storage

我正在开发一个网页,我试图在其中显示问题,并让查看者提交答案,该答案显示在另一个页面上。目前,答案页面上仅显示最新的答案。我不知道如何编写我的函数以便它存储和显示所有响应。 (我是 JavaScript 新手)谢谢!

    <div id=q2 class="question gr">
         What is good design?
   <input id="q2input" type="text" > 

   <div class="buttons"> <button onclick="functionTwo()"          
   class="sbuttons">Submit</button>

                <!-- View Answers Button -->  
    <button id="ViewAnswers2" class="vabuttons" >View Answers</button>    
    <script type="text/javascript">
    document.getElementById("ViewAnswers2").onclick = function () {
    location.href = "WhatIsGoodDesign.html";
    };
    </script>
       </div>

   <script>
   function functionTwo(){
       var input = document.getElementById("q2input").value;
       console.log(input);
       localStorage.setItem("question2", input);
       window.location.href = "WhatIsGoodDesign.html";
   }
   </script>

最佳答案

使用数组代替。目前,您所做的只是每次覆盖 question2 答案槽中的当前值。数组是一种将多个数据值存储到一个变量中的方法

function functionTwo() {
  var input = document.getElementById("q2input").value;
  var answers = JSON.parse(localStorage.getItem("question2answers")) || []; 
  //Not too sure about the || [];
  answers.push(input);
  localStorage.setItem("question2answers", JSON.stringify(answers));
  window.location.href = "WhatIsGoodDesign.html";
}

您不能直接将数组放入 LocalStorage,因此必须将其作为 JSON 对象传入和传出。 JSON.stringify() 会将其转换为可以传递到 LocalStorage 的字符串,而 JSON.parse() 会将该字符串转换回数组。

关于javascript - 使用本地存储存储和显示多个答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36610205/

相关文章:

用于扫描的 C++ HTML 查看器?

javascript - jquery 不隐藏类并在单击时设置动画

javascript - XML HTTP 请求 Jodel

C++:二叉搜索树适用于整数,但在我尝试传递字符串时崩溃

C++ String.substr 输出不正确

python - Python 2/3 中的编码/解码有什么区别

javascript - 提交按钮中的 jquery click()

javascript - 如何在我所有的请求查询字符串中包含 JSON webtoken

javascript - 仅使用 Javascript (jQuery) 和 CSS 隐藏/显示部分文本

javascript - 如果图像不存在,则将图像替换为 div