Karthika Ram
Karthika Ram

Reputation: 85

I am looking for function to get auto save in browser till to submit

JS :

(function(window, document, undefined) {
    function changeSelect(event) {
        if(event.target.type=='checkbox' || event.target.type=='radio') {
            window.localStorage.setItem(event.target.id, event.target.checked?'checked':'unchecked');
        } else {
            window.localStorage.setItem(event.target.id, event.target.value);
        }
    }
    function load(event) {
        var i = 0, k, e;
        while(i < window.localStorage.length) {
            k = window.localStorage.key(i++);
            e = document.getElementById(k);
            if(e) {
                if(e.type=='checkbox' || e.type=='radio') {
                    e.checked = window.localStorage.getItem(k)=='checked';
                } else {
                    e.value = window.localStorage.getItem(k);
                }
            }
        }        
    }
    function clearData(event) {
        window.localStorage.clear();
    }
    window.addEventListener('load', load, true);
    window.addEventListener('change', changeSelect, true);
    window.addEventListener('select', changeSelect, true);
    window.addEventListener('submit', clearData, true);
})(window, document)

I got this code from the internet and it was working fine.

I had a requirement if employee doing long quotation suddenly browser close any issue happens it should retrieve entire data what we entered . Problem with above code is two input fields data it is not taking remaining all it is taking :

Two input fields are empty always :

  1. drop down fields data,
  2. some input fields i am getting values form server using users input .

Those two fields are empty always .If i reload.

If you have some better (or) likely coding which gives all details back while reloading page(for some Internet issue happens).

Thanks in advance.

Upvotes: 0

Views: 155

Answers (1)

Jai
Jai

Reputation: 74738

Add other events too:

window.addEventListener('keyup', changeSelect, true);
window.addEventListener('click', changeSelect, true);

Upvotes: 1

Related Questions