JSFiddle - React, Tailwind, and code Playground

HTML

<form>
    <input type='text' name='input1' />
<input type='text' name='input2' />
    
</form>

JavaScript

function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}
function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) {
                c_end = document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}


function form2string($form){
  return JSON.stringify($form.serializeArray());
}

function string2form($form, serializedStr){
  var fields = JSON.parse(serializedStr);
  for(var i=0; i< fields.length; i++){
     var controlName = fields[i].name;
     var controlValue = fields[i].value;
     $form.find("[name='+ controlName +']").val(controlValue);
  }
}

prevData=getCookie('myFormData');
prevData && string2form($('form'),prevData);

$("form :input").change(function() {
    createCookie('myFormData', form2string($(this).closest('form')), 30);
});