Formularabsenden ausschließlich mit Mausklick möglich?
Meike
- javascript
Hallo liebe Forumler,
Ich habe ein (ziemlich langes) Formular, das auch einige einzeilige Texteingabefelder enthält.
Ich möchte nun verhindern, dass jemand aus Versehen das Formular absendet, indem er Enter/Return drückt, weil er z.B. in diesen einzeiligen Textfeldern einen Absatz einfügen möchte (schließlich ist der User ja oftmals unbedarft...).
Natürlich könnte man bei der Auswertung überprüfen, ob alle Felder ausgefüllt wurden, aber da viele Felder bereits einen voreingestellten Value haben, scheitert das recht schnell.
Sprich: ich möchte, dass der User das Formular wirklich bis zum Ende anschaut/ausfüllt und dann mit einem Mausklick auf den Submit-Button absendet.
Geht das? Und wenn ja, wie? Hat zufällig jemand schonmal den gleichen Gedanken umgesetzt und möchte eine arme, kleine Anfängerin an seinem unerschöpflichen Wissen teilhaben lassen ;-) ?!?
Vielen Dank schonmal im Voraus und ebenso viele Grüße-
Meike
Hi Meike,
Sprich: ich möchte, dass der User das Formular wirklich bis zum Ende anschaut/ausfüllt und dann mit einem Mausklick auf den Submit-Button absendet.
Geht das? Und wenn ja, wie?
Mir ist es so, als könnte das mit einem onSubmit="return false" im form Tag funktionieren - weiß allerdings nicht, ob dann der richtige Submit Button noch so ohne weitere funktioniert. Probiers halt mal aus.
MfG, Dennis.
Hallo Dennis,
weiß allerdings nicht, ob dann der richtige Submit Button noch so ohne weitere funktioniert.
Genau das ist das Problem: Dann geht eben auch der eigentliche Submit-Button nicht mehr.
Gibt's da vielleicht nen Trick, wie man den Submit-Button doch funktionabel machen kann?
Schöne Grüße-
Meike
Hi Meike,
Genau das ist das Problem: Dann geht eben auch der eigentliche Submit-Button nicht mehr.
Gibt's da vielleicht nen Trick, wie man den Submit-Button doch funktionabel machen kann?
Zur Sicherheit frag ich mal: Du hast schon einen input type="submit" genommen?
Schon mal probiert, das Formular direkt abzuschicken mit onClick="document.formularname.submit()" ?
MfG, Dennis.
Hallo Dennis,
Schon mal probiert, das Formular direkt abzuschicken mit onClick="document.formularname.submit()" ?
Du Held ;-)
Vielen Dank für diesen Tipp. habe nun den Absendebutton nicht als type="submit", sondern als type="button" mit deinem onClick-Befehl und alles ist, wie ich's wollte:
"unterwegs" im Formular reagiert es nicht auf die Enter-Taste, erst wenn man mit der Tab-Taste auf den Button gekommen ist bzw.
bei Mausklick auf den Button.
Danke nochmal und neblig-kalte Grüße-
Meike
Hi Meike,
habe nun den Absendebutton nicht als type="submit", sondern als type="button" mit deinem onClick-Befehl und alles ist, wie ich's wollte:
Das ist nicht gut, das Besucher ohne Javascript dann das formular nicht mit einem Klick auf den Button abschicken können.
Machs lieber so in der Art:
<form name="test" onSubmit="return false;" action="http://www.domain.de" method="post">
<input type="text" name="foo">
<input type="submit" value="Go!" onClick="document.test.submit(); return false;">
</form>
Dann sollte es auch ohne Javascript noch gehen.
MfG, Dennis.
hi,
weiß allerdings nicht, ob dann der richtige Submit Button noch so ohne weitere funktioniert.
Genau das ist das Problem: Dann geht eben auch der eigentliche Submit-Button nicht mehr.
Gibt's da vielleicht nen Trick, wie man den Submit-Button doch funktionabel machen kann?
natürlich gibt es den.
ein flag anfangs auf false setzen, beim klick auf den submit-button dann dieses flag auf true setzen, und im onsubmit den wert dieses flags zurückgeben.
gruß,
wahsaga
Hallo Wahsaga,
ein flag anfangs auf false setzen, beim klick auf den submit-button dann dieses flag auf true setzen, und im onsubmit den wert dieses flags zurückgeben.
Danke für diesen Tipp, aber es erscheint mir etwas umständlicher als diese, jetzt von mir realisierte Lösung (Danke, Dennis!): https://forum.selfhtml.org/?t=98886&m=603495
Trotzdem dir auch ein dickes Dankeschön,
Meike