Oliver: formular nicht mit "Enter" abschicken

Beitrag lesen

Hi chlori,

obwohl ich denke, das NaeZnal völlig recht hat (das macht jeder wohl nur einmal) trotzdem der Versuch einer Antwort:

1. Ansatz:

onclick auf dem Submit-Element abfangen und in eine Funktion umleiten die etwa so aussieht:

function nixSubmit(){
 document.myForm.action = "";
}

Das führt dazu, dass die Formulardaten nicht an das Ziel gesendet werden, allerdings auch dazu, das das Formular gelöscht wird, da der Request ja ausgeführt wird.

2. Ansatz:

Sezte den Submit-Button auf disabled und gebe ihn erst frei, wenn das Formular ausgefüllt ist. Das könnte aber evtl auch zu etwas Unmut bei den Benutzern führen, die wissen, wann sie die Enter-Taste drücken dürfen.

3. Ansatz:

Etwas aufwendiger und bischen gescripte:
Verzichte ganz auf den Submit und setze an seine Stelle einen normalen Button. Dann passiert nix, wenn einer die Eingabetaste drückt, sondern wirklich nur dann, wenn der Button den Fokus hat.
Das Formular kannst Du dann ja onClick auf dem Button mit

document.myform.submit()

abschicken. Luxusmäßig könntest Du ja noch den Tastaturevent auf der EingabeTaste abfangen und schauen, ob das Formular bereits ausreichend ausgefüllt ist, und dann den Submit auch durchführen, dann wäre auch der Power-User glücklich.

Vielleicht hilft dir's ja...

Grüsse
Oliver