How does this stackexchange form saved the work, I mean keep an auto save function, to retrieve loss of work, in case the user's browser crashes.
I do not really know how they do it exactly, but I know a method of how it can be done. HTML5 has this option build in. It is done by local storage.
Check out this link: http://diveintohtml5.org/storage.html
I know that most forms that 'save drafts' in case the browser crashes or the user leaves the site use ajax to store data on the server. If you write something on blogger, or write an email in gmail the form autosaves what you write every minute. Now if anything happens to your browser or connection you have a draft saved that you can continue editing before publishing or sending.