Skip to content Skip to sidebar Skip to footer

Why Are Html Forms Sometimes Cleared When Clicking On The Browser Back Button

I am sure everybody knows that behaviour. You fill in a form on the web, and you submit it. After the submission you recognize that you filled in some wrong data. So, you click on

Solution 1:

I can't provide the definitive answer for all scenarios.

As a web developer, here's the rule I generally follow for sites I develop, to accomplish the goal of not letting the user lose data:

  • Disable all caching (via HTTP headers) on the page you want retained.
  • Capture all data into session (or some other temporary storage) when the form is submitted.
  • If the user navigates backwards, the browser requests a new version of the page (because you set it to never cache).
  • The page has logic to look to the session/database/wherever and repopulates all the fields based on the last input state. If there were dynamic inputs on the page, you should have enough data to recreate them.
  • Once the process is finished, use a POST/Redirect/GET pattern to clear the session data and make it difficult for the user to go back to the original page.

Some answers i found on the internet / stackoverflow: 1. on https connections, forms are always cleared 2. when using dynamic websites with sessions, forms are always cleared

I believe #1 varies by browser/security settings/scenario.

Assumption #2 is certainly not true in all cases (the pattern I just described leverages session and dynamic forms).

Solution 2:

Its a browser issue. Browsers behave differently when the back button is clicked. This question was asked before here Losing form data when clicking the back button on browser

Post a Comment for "Why Are Html Forms Sometimes Cleared When Clicking On The Browser Back Button"