Hi dedlfix,
Es kommt durchaus vor, dass ich mich irre. Ich sehe ja dein Projekt nicht vollständig und kann dir mitunter nur à la Trockenschwimmen antworten. Du musst alle Antworten überprüfen und dich nicht scheuen, mir zu sagen, wenn was nicht wie beschrieben geht.
Och, das mache ich schon, keine Sorge.
Ich versuche nur, höflich zu sein, wenn mir schon geholfen wird.
Außerdem irrst Du zu viel zu selten, da ist doppelte Kontrolle auf Fragerseite schonmal angebracht. ;)
Wir probieren es mal anders. Onchange tritt auf, wenn du das Eingabefeld verlässt. Das geht normalerweise mit Tab. Wenn du hingegen bei der Enter-Taste den Focus auf ein anderes Feld setzt (und ansonsten nichts weiter machst, außer preventDefault), müsste doch auch onchange gefeuert werden, weil du ja das Feld verlässt, zumindest wenn Änderungen drin sind.
Absolut korrekt. Nur - genau das mache ich ja derzeit nicht. Aber es entspricht meiner ursprüngliuchen Idee. Und es entspricht der Idee, die Entertaste per Script abzufangen und mit der Simmulation der Tab Taste zu ersetzen. Es müßte nichtmal die Tab-Taste sein, da es ausreicht, irgendeinem anderen Inputfeld des Formulars den focus() zu übergeben. Es müßte nicht zwingend der nächste sein. Man könnte sogar (ich spinne es mal weiter) den focus() unterm Strich im vom User gewählten Inputfeld belassen, wenn man nur vorher einmal kurz in ein anderes Feld "focussiert" und gleich zurück ins ursprüngliche Inputfeld "focussiert".
Und da komme ich mit dem Gültigkeitsbereich von Variablen durcheinander. Deshalb meine Idee mit local.storage...
Wenn es nicht dauerhaft abgelegt werden soll, dann sessionStorage. Aber vielleicht kommen wir ja ohne das aus.
Wir kommen definitiv ohne Beides aus, wenn es gelingt, die Tabtaste zu simmulieren oder alternativ in ein beliebiges Inputfeld zu "focussieren" (beliebig != zufällig, es muß schon für den User einigermaßen nachvollziehbar bleiben). Und dann würde tatsächlich im Anschluß daran, wie baba und Du sagen, der "preventDefault" ausreichen.
Lukas