Form reset werkt niet altijd
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?
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?
Gewijzigd op 24/01/2026 18:43:05 door Guido -
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.
Alles zit in 2 php bestanden: /index.php en /dank.php.
Ik denk dat je eens naar het POST/Redirect/GET pattern moet kijken:
https://en.wikipedia.org/wiki/Post/Redirect/Get
https://en.wikipedia.org/wiki/Post/Redirect/Get
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.
Heb een voorbeeld online gezet, dus broncode van beide bestanden kun je bekijken.
Gewijzigd op 25/01/2026 00:27:00 door Guido -
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.
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.
Met een PHP redirect, die je eerder noemde, riskeer je de "headers already sent" fout. Heb je niet met window.location.
Gewijzigd op 26/01/2026 08:19:15 door Guido -
Als jij er zorgen maakt om 'headers already sent', dan weet je dat je iets behoorlijk fout doet.
Je moet gewoon geen output voor de header zetten! En ja, daar zijn altijd oplossingen voor.
En mocht je er tegenaan lopen, dan ben je al op PHPhulp.
Werkt perfect!
Je moet NOOIT maar dan ook NOOIT enkel op JavaScript vertrouwen. Controles en validatie moet je ook altijd serverside uitvoeren.
Je moet gewoon geen output voor de header zetten! En ja, daar zijn altijd oplossingen voor.
En mocht je er tegenaan lopen, dan ben je al op PHPhulp.
Code (php)
Werkt perfect!
Je moet NOOIT maar dan ook NOOIT enkel op JavaScript vertrouwen. Controles en validatie moet je ook altijd serverside uitvoeren.
Gewijzigd op 26/01/2026 10:31:40 door - Ariën -
En? Is het nog gelukt?
Sorry, ik heb je vorige reactie gemist.
Nog niet uitgetest, maar ik had nog niet gezegd dat ik het gebruik in een WordPress plugin, en dan heb je niet de absolute zekerheid dat het op tijd is.
Ter info, ik gebruik de JS alleen voor de redirect, uiteraard niet voor input validatie.
Nog niet uitgetest, maar ik had nog niet gezegd dat ik het gebruik in een WordPress plugin, en dan heb je niet de absolute zekerheid dat het op tijd is.
Ter info, ik gebruik de JS alleen voor de redirect, uiteraard niet voor input validatie.




