Einzelnen Beitrag anzeigen
  #16 (permalink)  
Alt 07.04.2009, 13:06
OscarWilde1024 OscarWilde1024 ist offline
Held des Scrum
neuer user
Thread-Ersteller
 
Registriert seit: 07.04.2009
Ort: Nähe Bonn
Beiträge: 37
OscarWilde1024 befindet sich auf einem aufstrebenden Ast
Standard

Also ich hab es jetzt wie folgt gelöst:

1. Ein onChange in einem Eingabefeld startet eine Fehlerprüfung validateFields();
2. Ein ajaxRequestCounter wird bei jedem Ajax Aufruf hochgezäht und bei einem onComplete wieder runtergezählt.
3. Ein errorState wird zu Begin der Prüfung auch 0 gesetzt, tritt während der Prüfung ein Fehler auf, wird dieser auf 1 gesetzt.

Ein Funktion checkErrorState() prüft alle 3 Sekunden die beiden Variablen ajaxRequestCounter und errorState ab. Wenn ajaxRequestCounter!=0 ist, wird nix verändert da die Prüfung noch läuft. Wenn der ajaxRequestCounter=0 ist, wird der Button je nach Wert von errorState eingestellt.

Das läuft soweit stabil, asynchron und vermeidet unbeabsichtigtes "springen" der Buttons.

Danke für alle Beiträge!

Frank
Mit Zitat antworten