In my case, after the final user Post his new data to server, he is redirected to another page. But when the final user press the back button, the form is pre-populated with the old data. So, reload page is needed.
I did a workaround for Firefox and another for Google Chrome. They have different behavior to show cached pages.
Doing this will prevent Firefox to cache the page and the back button will bring the page from server.
window.onunload = function(){};
But Google Chrome do it in another way and the solution above did not work for me. So I did another workaround for Chrome. I did a flag that mark the form as dirty.
At the top of <head>
, before load anything, I check the cookie
if(document.cookie.match(/my-form=dirty/)) {
document.cookie = "my-form=; expires=-1; path="+document.location.pathname;
window.location.reload();
}
With a help of jQuery, I write the cookie when user modify something
$(document).load(function(){
$(':input').change(function(){
document.cookie = "my-form=dirty; expires=86400000; path="+document.location.pathname;
})
})
Good to know: