Hoi,

Ik heb een formulier en na succesvol versturen gebruik ik een JS redirect naar de bedankpagina.
Als ik dan op de terug knop in mijn browser druk zorg ik ervoor dat de formulier input (BF cache) gereset wordt, middels een pageshow EventListener (dank Ron Kr.)

In mijn vorige topic hebben we het hier al over gehad, maar omdat ik een vervolgvraag heb, en dat topic daar niet over gaat, heb ik hierbij een nieuw topic gemaakt.

In 1 situatie reset formulier niet (volledig):
1) Ik vul formulier verkeerd in
2) Druk op versturen en krijg foutmelding
3) Ik vul formulier correct in
4) Druk op versturen en krijg bedankt pagina
5) Ik druk op terug knop in mijn browser
Formulier niet (volledig) leeg.

Ik heb tijdelijk een voorbeeld online gezet, zie deze link.

Wat is hier aan de hand en hoe kan ik dit fixen?
Heb je er ook PHP-code achter zitten? Of is het enkel HTML/JS?
Alleen beetje PHP voor validatie vd invoer.
Alles zit in 2 php bestanden: /index.php en /dank.php.
Dat doe ik toch al door de redirect naar de bedank pagina te gebruiken.
Doe je dan in PHP ook een échte redirect via header()?
Redirect met JS window.location.
Heb een voorbeeld online gezet, dus broncode van beide bestanden kun je bekijken.
Er kunnen altijd redenen zijn dat het met JS niet werkt, dus gebruik bij voorkeur PHP.
Dit lijkt mij te maken te hebben met de back/forward cache en/of de POST global die de invoer heeft onthouden.
Maar zoals uitgelegd, ook in mijn andere topic, wordt de back/forward cache geleegd. Maar blijkbaar dus niet altijd.
Daarom raad ik ook PHP aan....
Hoe wil je dit oplossen met PHP dan?
Met een PHP redirect, die je eerder noemde, riskeer je de "headers already sent" fout. Heb je niet met window.location.

Reageren