Het gebruik van action in form element
Ik heb onderaan mijn pagina een contactformulier staan en wil graag dat de pagina weer naar beneden scrolt nadat ik op de verzendknop gedrukt heb.
Dus ik zit er aan te denken om een action aan mijn form element toe te voegen:
En aan mijn formulier een ID toe te voegen:
Het lijkt te werken... Mijn vraag, kan een dergelijke action onvoorspelbaar gedrag veroorzaken?
Groeten, Guido
Gewijzigd op 22/09/2017 16:03:46 door Guido -
Wat je doet is prima.
Heb je iets ingebouwd tegen dubbelposts? Wat als iemand de pagina ververst nadat deze een formulier heeft gesubmit? Voor een contactformulier is dit mogelijk niet de beste oplossing. Maar meer informatie ontbreekt om hier een waardeoordeel over te vormen.
De validatie vindt op dezelfde pagina (in hetzelfde bestand) plaats, dus in het geval van een fout of succesvol versturen zal hij gewoon op dezelfde pagina blijven.
Na drukken op submit wordt dus nu /#hook aan de pagina-URL toegevoegd, die blijft natuurlijk ongewijzigd als ik de pagina ververs.
Guido
De vraag is meer wat er gebeurt als validatie slaagt en de verzending dus succesvol is. Het is niet voor niets dat POST/Redirect/GET wordt aanbevolen.
Bedankt voor jullie reacties. Alles gebeurt op dezelfde pagina, wil geen doorverwijzing naar een bedankpagina.
Ik gebruik de method="post".
Indien verzending succesvol is:
Tegen dubbel posten gebruik ik captcha, lijkt me voldoende toch?
Guido
Nee is niet voldoende. En je kunt in plaats van naar een andere pagina ook gewoon redirecten naar dezelfde pagina. Daarbij mag je kiezen of je met of zonder #hook gebruikt in de url.
Waarom is dat niet voldoende tegen dubbel posten? De captcha laadt dan opnieuw en houdt het toch tegen?
Overigens, ik zie geen verband tussen dubbel posten en mijn vraag over form action, of zie ik iets over het hoofd?
Guido
Gewijzigd op 24/09/2017 16:09:03 door Guido -
Inderdaad wijken we van het topic af, hoop niet dat je dat vervelend vindt :)
Ik bedoel het meer in algemene zin dat je gewoon zou moeten directen na een succesvolle verwerking. 1 ding die je daarmee in ieder geval voorkomt is dat de gebruiker de bekende vraag krijgt of hij de gegevens nogmaals wil verzenden. Uit mijn hoofd gezegd komt er dan ook geen POST pagina in de browser geschiedenis te staan.
Gewijzigd op 24/09/2017 16:44:58 door Frank Nietbelangrijk
Gewijzigd op 24/09/2017 16:53:37 door Ben van Velzen