Возможно ли сохранять в localStorage динамически добавляемые input, а после перезагрузки страницы возвращать их вместе с value?

136
09 ноября 2019, 11:50

Представьте, что есть плюс нажимая на который вставляется input. Таких input можно вставить сколько угодно (пусть будет 30 штук). В эти input будет вводится временная информация, которая ежедневно в определенное время будет копироваться в txt файл по нажатию кнопки(это будет делать php, а не js).

Меня волнует могу ли реализовать сохранение в localStorage динамически добавляемые input + вносимую информацию, чтобы при перезагрузки страницы, все добавленное и записанное было восстановлено до того, как я очищу хранилище?

Меня так же интересует мнение по реализации этой затеи, или все же стоит найти другой путь. Благодарю за внимание!

Answer 1

В localStorage можно сохранить любую текстовую информацию (в пределах разрешенных объемов, конечно). Эти объемы измеряются мегабайтами, так что тридцать инпутов туда поместятся. Располагайте эти инпуты внутри одного родителя, тогда Вы сможете их сохранять и восстанавливать, используя innerHTML этого родителя.

Answer 2

Реализовать такую задумку вполне возможно. Предлагаю для хранения введённых значений на форме использовать какой-то предопределённый ключ, а значением будет сериализованный массив, описывающий состояния полей ввода.

Вот пример. Запустить его можно на отдельном сайте.

document.getElementById('b').addEventListener('click', function() { 
  // Сохраняем значения в виде массива. 
  var data = []; 
  data.push(document.getElementById('t1').value); 
  data.push(document.getElementById('t2').value); 
  data.push(document.getElementById('t3').value); 
  localStorage.setItem('k', JSON.stringify(data)); 
}); 
window.addEventListener('load', function() { 
  // Загружаем их, распаковывая сохранённый массив. 
  var data = JSON.parse(localStorage.getItem('k')); 
  document.getElementById('t1').value = data[0]; 
  document.getElementById('t2').value = data[1]; 
  document.getElementById('t3').value = data[2]; 
});
<input id="t1"><br> 
<input id="t2"><br> 
<input id="t3"><br> 
<button id="b">Save</button>

READ ALSO
Выбрать значения по одной колонке MySQL

Выбрать значения по одной колонке MySQL

Как из БД сделать выборку по одной колонке с конкретным указанием значений

172
Как работает placeholder на поле number? [закрыт]

Как работает placeholder на поле number? [закрыт]

У меня есть поле ввода имени и возрастаВ поле имя прописано plaseholder = "Имя", тоже самое я прописал и в поле возраст, но слово "возраст" он у меня...

138
Как подключить fontawesome 5 локально с компьютера?

Как подключить fontawesome 5 локально с компьютера?

я скачал fontawesome 5 на комп, не могу подключить, подскажите, кто знает

173