LocalStorage+serializeObject

by Felipe Zura

HTML

<form id="new_form">
	<input type="text" id="datos1" name='datos1'>
	<input type="text" id="datos12" name='datos12'>
  <div class="radio radio-info">
  <input type="radio" idvi="2" id="Si_resp" name="resp">
  <label for="Si_resp">Si.</label>
  </div>
  <div class="radio radio-info">
    <input type="radio" idvi="3" id="No_resp" name="resp">
  <label for="No_resp">No.</label>
  </div>
</form>
<button id="F5">
F5
</button>

<button id="load">
Get LocalStorage
</button>

JavaScript

//The MIT License (MIT)
//Copyright (c) 2013 David Hong
$.fn.serializeObject=function(){"use strict";var a={},b=function(b,c){var d=a[c.name];"undefined"!=typeof d&&d!==null?$.isArray(d)?d.push(c.value):a[c.name]=[d,c.value]:a[c.name]=c.value};return $.each(this.serializeArray(),b),a};

// 2016 Felipe Zura Rojas
function save(){
  /* Get input values from form */
var values = $("#new_form").find("input[type=text]").serializeArray();

/* Because serializeArray() ignores unset checkboxes and radio buttons:*/ 
if($('form#new_form input[type=radio]').prop('checked')){
  values = values.concat(
          $('form#new_form input[type=radio]:not(:checked)').map(
                  function() {
                      return {"idvi": this.getAttribute('idvi'), "value":this.value}
                  }).get()
  );
}

	var jsn=$("form#new_form").find("input[type=text]").serializeObject();
  //console.log(jsn);
  console.log(values);
	localStorage.setItem("json",JSON.stringify(jsn));			
}
$(function(){ 
	$("form#new_form input").on("blur",save);
  $("#F5").on('click',function(){    
 	 	location.reload();
  });   
	$("#load").on('click',function(){                      
		$ld = JSON.parse(localStorage.getItem('json'));
		$.each($ld, function(key, value){$("#"+key).val(value);});
	}); 
  

  
});