简体   繁体   中英

Local Storage resetting the value after page refresh

I want to input data from user input and store to local storage, but when the page get refresh the value of local storage reset. How to store all user input in local storage even I hit refresh?

JavaScript.

var myArr = [];
function botResponse(rawText) {
  var inputText = rawText;   //user input     
  myArr.push(inputText);
  var arrString = myArr.join(", ");

  var existing = localStorage.getItem('UserInput');
  existing = [];
  existing.push(arrString);
  localStorage.setItem('UserInput',existing);
 
 
  // var arrStringTwo = existing.join(", ");
  

  // Bot Response
  var new_value = window.localStorage.getItem("UserInput");  
  ----------
  }

You're resetting it with existing = [];.

You can't store arrays directly in localStorage , it can only store strings. You need to convert to and from JSON.

  var existing = localStorage.getItem('UserInput');
  if (existing) {
    existing = JSON.parse(existing);
  } else {
    existing = [];
  existing.push(arrString);
  localStorage.setItem('UserInput',JSON.stringify(existing));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM