oddlyzen
9/20/2010 - 6:22 PM

localstorage.js.erb

<script>
  // test for localStorage support
  if(('localStorage' in window) && window['localStorage'] !== null){
  var f = document.getElementById('mainform');
  // test with Ruby if the form was sent (the submit button has the name "sent")
  <% if params[:sent] %>
    // get the HTML of the form and cache it in the property "state"
      localStorage.setItem('state',f.innerHTML);
  // if the form hasn't been sent...
  <% else %>
    // check if a state property exists and write back the HTML cache
    if('state' in localStorage){
      f.innerHTML = localStorage.getItem('state');  
    }
  <% end %>
  }
</script>