Was ist mit einem Mehrschritt-Reset gemeint?
Ein Beispiel: Bei der Analyse von Datensätzen, z.B. in einer Web-Applikation, werden mit Filtereingaben die entsprechenden Daten geladen. Um eine schnellere Eingabe, ohne viel Rumklicken, zu ermöglichen, kann die Filtereingabe wie ein Kommando mit Argumenten implementiert werden. Ein Kommando hat dabei die Struktur "/Name:Argument". Mit ENTER wird die Aktualisierung der Ausgabe direkt ausgelöst.

Der Eingabefokus bleibt weiterhin im Eingabefeld, so daß ein neues Kommando oder nur ein anderes Argument eingegeben werden kann.

In einer konkreten Implementierung kann durch ESCAPE (1. Reset) das aktuelle Argument gelöscht werden, um sofort ein anderes Argument eingeben zu können.

Die gesamte Filtereingabe (Kommando+Argument) wird mit einem zweiten ESCAPE (2. Reset) gelöscht.

Während der Filtereingabe wird natürlich eine entsprechende Vorschlagsliste, mit zur Eingabe passenden Einträgen, angezeigt, d.h. die möglichen Kommandos und nach dem Kommando die möglichen Argumente.
Learnings:
- Mit JavaScript müssen beide Event-Handler für "keydown" und für "keyup" implementiert werden, wenn nur für "keyup", dann wurde der Eingabewert immer wieder zurückgesetzt.
- Benutzerfreundlichkeit 3x höher, mindestens! 😉
- kein wiederholter Griff zur Mouse, sondern eine direkte Eingabe/Auswahl des Filtertyps und entsprechende Argument