molily: Weiterspringen in Formularfeldern mit Enter und AutoComplete

Beitrag lesen

Hallo,

Nun möchte ich im Hinblick auf Barrierefreiheit das ganze auch per Enter ausfüllen können.
Funktioniert mit .Focus() soweit ganz gut.

Schon hier komme ich nicht mehr mir.
Du willst, dass beim Drücken von Enter das nächste Feld fokussiert wird?
Ich weiß nicht so recht, ob das »im Hinblick auf Barrierefreiheit« wirklich eine Verbesserung für den Anwender darstellt, wenn du die Bedeutung von Tasten plötzlich umkehrst.

Nur wenn bei aktivierter Autovervollständigung und mehrmaliger Eingabe dann der schon mal eingebebene Wer vorgeschlagen wird, (z.B. 1234567 war das letztemal eingeben, jetzt wird 12 getippt)
und ich dann die Enter-Taste drücke, wird nicht der evtl. auch mit den Cursortasten ausgewählte Wert übernommen, sondern ins nächste Feld gesprungen.

Redest du von der Auto-Vervollständigung des Browsers oder von einer, die du selbst programmiert hast?
Wenn der Anwender mit der Tastatur den Vorschlag im Dropdown auswählt und ihn mit Enter übernehmen will, wird dein Event-Handler ausgelöst und er springt. Das willst du vermeiden, habe ich das richtig verstanden?

Hilfreich wäre wenn ich statt .Focus() einen Tab auslösen könnte.

Hmm, wieso? Wenn der Anwender Tab drückt, springt der Fokus auch ohne JavaScript ins nächste Feld...

Das senden funktioniert unter IE 6+ über event.keyCode = 9 ganz gut, jedoch nicht beim Mozilla. Der kennt ja bekanntlich nur event.which

Nein, in dem Fall auch keyCode.

Und "taste = event.which; taste = 9;" geht nedde.

taste = 9 ist eine Wertzuweisung, meinst du taste == 9?
Das sollte auch im Firefox funktionieren, zumindest bei keydown-Events.

Weis jemand wie ich beim Mozilla nen Tastecode senden kann?

Wieso »senden«? Willst du Events erzeugen oder durch Benutzereingaben erzeugte verarbeiten?

Oder wie ich abfragen kann ob gerade in der Autoverfollständigung auswählt wird?

Das kannst du vermutlich nicht. Zumindest weißt du zu dem Zeitpunkt, wenn der Tastaturevent mit Enter feuert, nicht, dass damit im AutoComplete-Dropdown etwas ausgewählt wurde.

Sorry, aber ich verstehe dein Problem / deine Aufgabenstellung nicht ganz, bitte erläutere es doch noch einmal.

Mathias