Formular - Bestätigung der eingegebenen Daten
Sebastian
- sonstiges
0 H2O- javascript
0 Der Martin...0 H2O
Hi,
also ich hab ein Formular mit Feldern wie Name, Email, Adresse usw. und will, dass man die eingegebenen Daten vor dem Abschicken des Formulars nochmals bestätigen muss. Beim Klick auf den "Absenden"-Button des Formulars soll eine Meldung erscheinen:
"Bitte bestätige nochmals die eingegebenen Daten:
Vorname: Max Mustermann
Email. max.mustermann@provider.com
..."
Wenn die daten korrekt sind, soll man auf OK klicken und das Formular wird verschickt. Sollten die daten nicht korrekt sein, so soll man auf Abbrechen klicken können, um seine Daten ändern zu können.
Findet sich hier bei selfhtml ein Beispiel wie das aussehen könnte mit passender Erklärung?
Danke!
Hallo Sebastian.
Ich mache dir jetzt mal die Möglichkeit in JavaScript:
Ungefähr so müsste dein Formular dann aussehen:
---------------------------------------------------
<form action="#" method="post" onsubmit="return confirm('Stimmen diese Daten?\nVorname: '+this.vorname.value+'\nNachname: '+this.nachname.value+'\nEmail: '+this.email.value+'\nSonstiges: '+this.sonstiges.value);">
Vorname: <input type="Text" name="vorname" value=""><br>
Nachname: <input type="Text" name="nachname" value=""><br>
Email: <input type="Text" name="email" value=""><br>
Sonstiges: <input type="Text" name="sonstiges" value=""><br>
<input type="Submit" name="" value="Absenden">
</form>
---------------------------------------------------
Mit onsubmit wird beim Absenden erst noch ein Skript ausgeführt.
Das Skript fragt dann per confirm ab, ob die Daten stimmen.
Wenn der User nun OK drückt, ist die Abfrage true.
Bei Abbrechen, false.
Zusammen mit return ergibt das dann entweder "return true", durch das nichts passiert oder aber es besteht nun ein "return confirm", wodurch das Absenden abgebrochen wird.
Das was in der Confirm-Anweisung steht kannst du natürlich noch nach Belieben ändern.
Zu Beachten ist jedoch, dass es einige User gibt, die JavaScript ausgeschaltet haben. Bei denen wird das Formular dann sofort abgesendet.
Wenn es dir sehr wichtig ist, würde ich dir empfehlen die Abfrage serverseitig zu machen.
Dann müsstest du einfach zuerst an eine "zwischenseite.[php/cgi/was_auch_immer]" senden und dann die Daten nochmal auflisten.
Dann fügst du die ganzen Daten in hidden-Felder ein und stellst dann 2 Submit-Buttons (oder sogar 2 Formulare) zur Verfügung.
Du kannst es dann entweder so machen, dass die Submit-Buttons unterschiedliche Namen bekommen und dann auf der Seite nochmal abgefragt wird, welcher Name true ist.
Oder aber du sendest einfach an 2 verschiedene Seiten. Die eine nimmt die Daten dann entgültig auf und die andere ist dann nochmal das Formular.
Schönen Abend noch,
H2O
Hallo,
Zu Beachten ist jedoch, dass es einige User gibt, die JavaScript ausgeschaltet haben. Bei denen wird das Formular dann sofort abgesendet.
Nein, bei denen wird es überhaupt nicht abgesendet - jedenfalls nicht, solange im action-Attribut des Formulars nur ein "#" steht. Da sollte schon eine sinnvolle Adresse stehen, vorzugsweise ein serverseitiges Script, das die Formulardaten entgegennimmt.
Übrigens: Bei aktivem JS wird das Formular genauso wenig abgeschickt, wenn du nur action="#" angibst. ;-)
So long,
Martin
Hallo Der.
*gg*
Mist, das hatte ich vergessen umzuändern...
Habe es halt schnell auf meinem PC ausprobiert und habe "#" als Ziel eingesetzt ;)
Danke für die Korrektur ;)
H2O