Lukas.: Noch eine Nachfrage............

Beitrag lesen

Hallo dedlfix,

Gut möglich. Dann erzähl nochmal genau, was gerade passiert und was stattdessen passieren soll.

Wenn beim Entern schon onchange aufgerufen wird (muss ja, wenn der Wert sich ändert), muss nur noch die Entertaste deaktiviert werden und der Focus ins nächste Feld gesetzt werden.

Wird ja nicht. (change aufgerufen) Im Übrigen, das war ja meine erste Idee. Alles beim alten lassen und stattdessen die Funktion der Entertaste unterdrücken und durch ein Simmulieren des Drucks auf die Tab-Taste zu ersetzen. Habe ich Abstand von genommen, als Du sagstest, ich bräuchte nur beide Events dieselbe Funktkion ausführen lassen. Und so (denke ich) habe ich das auch umgesetzt.

Im Genauen:

Ich habe eine Funktion "mache_dies_und_das()", die sowohl beim drücken der Entertaste als auch beim change-Event ausgeführt wird.

Soll heißen, wenn jemand einen change-event macht, läuft alles sauber ab (ich nenne das jetzt mal "Durchlauf"). Dieser Durchlauf läuft dann also sauber ab und das Formular wartet auf neuerliche Eingabe, die durch change oder Enter (oder Tab) beendet wird.

Das andere Szenario ist, daß der User den Durchlauf per Enter beendet. Dann wird zwar ebenfalls die "mache_dies_und_das()"-Funktion bedient, aber der change-Handler beibt sozusagen noch "aktiv". Soll heißen, ich bräuchte z.b. nun noch eine Abfrage, ob der Enter-Event (für die aktuelle id und den aktuellen Wert) bereits ausgeführt wurde. Falls ja, soll er nicht nochmal ausgeführt werden.

Pseudocode:

function mache_dies_und_das(id,wert) {
// macht dies und das
if (mache_dies_und_das_schon_durch_enter_ausgefuehrt(id,wert) == 1) {
return;
}
mache_dies_und_das_schon_durch_enter_ausgefuehrt(id,wert) = 0;
// weiter gehts...
}

Und da komme ich mit dem Gültigkeitsbereich von Variablen durcheinander. Deshalb meine Idee mit local.storage...

Lukas