JSFiddle - React, Tailwind, and code Playground
HTML
<input type="text" name="foo" />
<input type="date" name="bar" />
<input type="number" name="baz" />
JavaScript
localStorage.formCache = localStorage.formCache || '{}'
var data = JSON.parse(localStorage.formCache);
// Restore
loadFromStorage(data);
// Listen to changes and save
document.addEventListener('change', function (event) {
saveToStorage(event.target.name, event.target.value);
});
function saveToStorage (key, value) {
data[key] = value;
localStorage.formCache = JSON.stringify(data);
}
function loadFromStorage (valueMap) {
Object.keys(valueMap).forEach(function (name) {
var elem = document.querySelector('[name="' + name + '"]');
if (!elem) return;
elem.value = valueMap[name];
});
}