Safari and Chrome back button changes hidden and submit values in forms
- by OverClocked
The following problem happens on both Safari and Chrome, so probably a WebKit issue.
Page A: a page that requires you to login to see, contains a form that has a type=submit button, with name=submit, and value=a
Page B: some other page
Page C: ask user to login page, contains a form with a type=submit button, with name=submit and value=c
User visits page A, then page B. Then idles and the user's login session times out. User hits back button to go back to page A. Browser redirects user to page C.
On Safari and Chrome, when C is rendered, the form on page C has the type=submit button, name=submit, but value shows up as "a".
If you reload while on page C, "c" appears as the value of the name=submit button.
The same problem appears with type=hidden input fields; when user hits back button, their values are also changed to some other value from some other form. Also, this problem also shows up w/o the redirect, with just submit then back. In this case the previous page renders with incorrect values for hidden and submit CGI variables.
So far the only fix I can come up with is use Javascript to reset the type=hidden and type=submit variable values, after page C loads, to make sure the values are correct. But that's not clean and universally applicable.
Short of WebKit fixing this error, has anyone ran into a better workaround?
Thanks.