Harlequin: onChange -> alert -> focus

Beitrag lesen

Hi,

Einfahcer und vor allem ohne eval wäre es, wenn du den puren String mit dem Funktionsbezeichner übergibst:

OnWarn = "UnitWarn"

Dann geht nämlich:

if(typeof window[OnWarn] == 'function') windowOnWarn;

Kannte ich noch nicht, aber funktioniert einwandfrei.

Ich vermute, dass hier irgendein Timingproblem vorliegt, dass verhindert dass der Fokus korrekt gesetzt wird... Kann mir jemand helfen?

wegen dem Fehler im anderen Thread, das ist ein etwas älterer Bug im Firefox und hat nichts mit deinem Problem zu tun. Du rufst aber die Funktion falsch auf, so sollte es gehen:
window.setTimeout ( function() { document.getElementById(this.ID + '_Minute').focus();},1);

a) so funktioniert der Aufruf leider nicht, da this.ID zum Ausführungszeitpunkt scheinbar nichtmehr gültig ist.

b) das Problem tritt auch dann auf (wenn in der JS-Konsole der Fehler wegen dem nicht gefundenen Element steht). Sobald ich mit dem Cursor in einem Editfeld mit falschen Wert stehe und ein anderes Fenster anklicke (z.B. wechsel zur JS-Konsole) erscheint die Alert-Box und danach ist der Cursor im FF weg und es sind keine Eingaben mehr möglich. Nach nochmaligen wechseln zu einer anderen Applikation und zurück ist der Cursor zwar wieder da, aber evtl in einem anderen Textfeld und der falsche Wert steht immer noch da (eigentlich ein Zustand den ich nicht will...)
Evtl. doch ein Problem mit der Exception?

Gruß,

Harlequin