In certain situations, pressing the "Back" button in Internet Explorer to return to a form causes that form to revert to its initial values.
In the first scenario, the page is read from the cache and displayed.
In the second scenario, the page is re-fetched from the server and re-painted. This can be verified using tools like Ethereal or Fiddler.
The following MS KB articles discuss similar situations, although I don't know if they directly explain why the page is re-fetched:
If the page in step 1 is arrived at via a POST operation, then the bug is not triggered.
You can verify this by submitting nothing to this page and then going through the same steps as above.
When the page in Step 1 is re-fetched, if it produces the same Last-Modified information as before, then the bug is not triggered. You can verify this by re-creating this testcase in static HTML files.
Change the IE settings for: Internet Options->General->Temporary Internet Files->Settings->"Check for newer versions of stored pages" to "Never".
This page is hosted on a free hosting site. Due to reasons beyond my control, it could disappear at any time.
If you keep a collection of IE bugs online, and can handle PHP scripts, please consider adding this one to your collection.
Feel free to modify the page as you see fit. I just want the bug, testcase and workaround(s) to remain documented for everyone.