ich ein Formular mit verschiedenen Bereichen habe einreichen, von denen einige Onchange oder onblur Ajax Methoden. Manchmal aktualisieren diese Methoden andere Felder im Formular. Wenn Sie beispielsweise ein Feld für Mittelwert oder Standardabweichung ändern, werden andere Felder für Obere und Untere Grenze automatisch aktualisiert. Je nachdem, wie die Grenzwerte berechnet werden, kann dies einen Ausfall des Servers erfordern.Die Wahl der Reihenfolge der Ereignisse, so dass Onchange Feuer Ereignisse vor einem
Das Problem ist, kann der Benutzer auf einem Absenden klicken direkt nach einer dieser Änderungen vorgenommen haben, und in diesem Fall die onchange und senden Ereignisse werden sowohl durch den Klick ausgelöst. Dann gibt es einen Wettlauf zwischen der Ajax-Methode, die die Felder aktualisiert, die geändert werden sollten, und dem Submit, der die alten Werte der Felder übermitteln könnte.
Wie kann ich sicherstellen, dass die Reichen immer ausgelöst, nachdem die Onchange Methoden getan werden? Vielen Dank.
Wie Sie den Überblick über herausragende AJAX-Anfragen halten? –
@MikeArrh: So ziemlich, wie Sie alles im Auge behalten: Mit einer Variablen. :-) Zum Beispiel haben Sie möglicherweise eine Variable, die Ihre zentralen Ajax-Funktionen schließen, die bei "0" beginnt. Sie erhöhen es, wenn Sie einen Ajax-Aufruf starten, und dekrementieren es, wenn Sie mit einem Erfolg fertig sind (Erfolg oder Fehler). Ein Wert> 0 bedeutet, dass etwas in Bearbeitung ist. –
Huh - ich sehe, dass http://stackoverflow.com/questions/1822913/how-do-i-know-if-jquery-has-an-ajax-request-pending erwähnt, dass Sie bis zu $ .active in jQuery verwenden können Zählen Sie die aktiven Ajax-Anfragen. Das scheint mir viel sicherer zu sein als zu versuchen, mich selbst zu verfolgen. –