Schenkeli Thomas: Endlosschleife durch onBlur-Event

Beitrag lesen

Hallo,

ich habe folgende Ausgangssituation mit der ich absolut nicht glücklich bin, aber eine Anpassung dieses Verhaltens in der gesamten Applikation ist im Moment leider nicht möglich:

Zwei Inputfelder, bei denen auf das onBlur-Event (also beim Verlassen) ein Check durchgeführt wird, ob der Inhalt korrekt ist. Ist der Inhalt nicht korrekt, wird ein Alert-Fenster angezeigt und wieder das selbe Inputfeld fokusiert.

Das funktioniert auch ganz toll, solange man nicht aus dem einen Inputfeld heraus ein anderes Inputfeld mit ebenfalls "fehlerhaftem" Inhalt selektiert. Denn dann passiert folgendes:

  1. Inputfeld A verliert Fokus
    2)(?) Inputfeld B gewinnt Fokus
    3)(?) onBlur von Inputfeld A wird ausgeführt: Alert wird gezeigt und Inputfeld A wird fokusiert.
  2. Durch die Fokusierung von Inputfeld A verliert Inputfeld B den Fokus, also wird das onBlur Event von Inputfeld B ausgeführt
  3. Daher wird eine alertmessage gezeigt und Inputfeld B fokusiert

Und dann gehts immer so weiter ...

Das Ganze passiert aber nur unter IE, Firefox scheint die Events in einer anderen Reihenfolge abzuarbeiten, weshalb es zu keinerlei Endlosschleife kommt. Hat jemand eine Idee was ich tun könnte um das selbe ohne Endlosschleife zu erreichen?

Dass der Lösungsansatz alles andere als ideal ist, ist mir klar und ich würde auch lieber jedes Inputfeld erst beim Speichern überprüfen um erstens den EBnutzerkomfort zu heben und zweitens solche Komplikationen zu vermeiden. Aber ein Redesign dieser Funktion ist im Moment aber eben leider nicht möglich

Danke für eure Hilfe

Thomas