Skip to content

Documentation team3

Source code

http://code.google.com/p/html5-code-camp-3/

localStorage

We have implemented use of localstorage in order to prevent loss of data i the user navigates away from the site, close the browser or close the tabs.

We solved this by implementing 3 features: A deamon, serializing of the form an storage to localstorage and deserializing of values back to form values.

var wunnyfumble = {
    initStore : function () {
        wunnyfumble.readAll();
        localStorage.clear();
        var daemon = function f () {
            wunnyfumble.saveArticle();
            setTimeout(f, 2000);
        };
        daemon();
    }
   saveArticle : function () {
       var inputs = $("article > form > input[name]");
       var data = {};
       for (var key in inputs) {
           var input = inputs[key];
           data[input.name] = input.value;
       }
       var textArea = $("#article");
       data[textArea.attr("id")] = textArea.attr("value");
       localStorage.setItem("wunnyfumble.formdata", JSON.stringify(data));
   }
   readAll : function () {
       var jsonString = localStorage.getItem("wunnyfumble.formdata");
       var data = JSON.parse(jsonString);
       for (var key in data) {
           var el = $("form > *[name='"+key+"']");
           var val = "localStorage{ " + data[key] + " }";
           switch (el.get(0).tagName.toLowerCase()) {
             case "input":
                 el.attr("value", val);
                 break;
             case "textarea":
                 el.html(val);
           }
       }

   }
};