wahsaga: ins nächte Feld springen mit Enter

Beitrag lesen

hi,

Das Problem ist jetzt, dass wenn in einem Formular ein <input type="submit"> vorkommt, dass beim Drucken auf "ENTER", egal in welchem Feld man sich gerade befindet, ein submit durcheführt wird statt dass ins nächste Feld gesprungen wird. Wie kann man dieses Verhalten unterdrücken, d.h. wie kann man es erreichen, dass auch in diesem Fall einfach ins nächste Feld gesprungen wird wie sonst auch?

das würde ich über den onSubmit-event des formulars abzufangen versuchen.

setze dir zunächst ein flag auf false.
im submitbutton bringst du ein onClick-event unter, welcher dieses flag auf true setzt.

wenn jetzt der onSubmit-event auslöst, prüfst du dieses flag - wenn es true ist, wurde der submit-button explizit geklickt - also gibst du aus dem onSubmit return true zurück, das formular wird abgeschickt.
wenn das flag false ist, wurde der submit-button nicht geklickt, sondern das abschicken wurde durch [enter] in einem der inputs ausgelöst. dann kannst du entsprechend reagieren - den fokus ins nächste input setzen, und das abschicken unterbinden.
wäre an dieser stelle nur noch fraglich, ob du noch eine referenz auf das input-feld, in dem [enter] gedrückt wurde hast, oder ob du dir vorher merken musst, welches input zuletzt den fokus bekommen hatte.

gruß,
wahsaga

--
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."