absenden verhindern bei einzeiligen formular-text-feldern

webdev

Mitglied
Hallo

anscheinend kommt es vor, dass Leute bei einzeiligen Textfeldern die Return Taste drücken. Bei meinem Formular löst dies das Absenden des Formulars aus! Zwar wird der Inhalt des Formulars nicht unbedingt in die Datenbank geschrieben (falls nicht alle benötigten Felder ausgefüllt sind). Aber so oder so ist es nicht sehr elegant, wenn die Return Taste dies auslöst.

Frage: wie kann ich verhindern, dass das Klicken auf die Return Taste ein Absenden des Formulars bewirkt

Im Forum habe ich bloss Beträge zu doppelten Absendeversuche gefunden.

Danke für jeden Tipp!
webdev
 
Du kannst per JS herausfinden, welche Taste gedrückt wurde. Dann könntest du dementsprechend darauf reagiern. Im JS Forum gab es erst vor kurzem etwas dazu. Werde mal suchen gehen.
 
Hallo fanste

vielen Dank für Deine Info! Wir wollen aber kein Javascript einsetzen, nur schon aus Barrieregründen. Kann man das nicht via php lösen? Falls nicht, hm, dann müsste ich abklären, ob wir js einsetzen werden...

Danke für Deinen Tipp!
webdev
 
Nein. Mit PHP geht das nicht.

PHP ist eine serverseitige Scriptsprache, die nichts mit dem Browser des Users zu tun hat. JS dagegen wird im Browser ausgeführt und ist dementsprechend clientseitig.
 
PHP ist serverseitig dh das es nicht zur Laufzeit eingreifen kann, du könntest höchstens, was du hoffentich schon gemacht hast, eine Fehelerbehandlung machen also dass wenn etwas nicht ausgefüllt wird, wird nichts eingetrage und ein Fehlertext ausgegeben.

Return verhindern? Eventuell per hotkeys, schau mal bei :google:
 
danke für die Antworten - ja stimmt, php ist serverseitig... Dann muss ich mir mal das JS anschauen gehen.

Fehlermeldungen habe ich selbstverständlich eingebaut ;-)
 
fanste hat gesagt.:
...Im JS Forum gab es erst vor kurzem etwas dazu. Werde mal suchen gehen.

Ich hab im JS-Forum gesucht, aber leider nichts gefunden...

@fanste > weisst Du noch, wie der Titel des Threads hiess?

@alle > oder weiss jemand aus dem Kopf, wie die korrekte JS-Syntax dazu heisst?


Danke für alle Tipps
webdev
 
Es wäre wohl besser wenn du einfach beim Absenden des Formulars mit JavaScript prüfst, ob alle Felder ausgefüllt sind und ggf. das Absenden abbrichst.
So kann man das Formular auch noch mit der Eingabetaste absenden.
 
Probiers mal so:
Code:
<form onsubmit="return false">
<!-- Zeugs -->
<input type="submit" onmouseup="this.form.submit()">
</form>

Auf die Art kann das Formular nur gesendet werden, wenn auf den Submit-Button geklickt wird(besser gesagt, wenn die Maus dort losgelassen wird)
 
Zurück