Hallo zusammen!
Ich habe folgendes Problem: Ein <div> Element wird geklickt - dann beginnt ein Arbeitsprozess der je nach der Anzahl der Datensätze die in der Datenbank bearbeitet werden, bis zu 30 Sek. dauern kann. Da jeder weitere Klick eines ungeduldigen Users während der 30 Sek. das ganze erneut starten würde, möchte ich das <div> zuerst ausblenden, ein anderes einblenden und mich dann erst mit der Datenbank vergnügen. Ich hatte mir das etwa so gedacht:
In der Funktion felder_anzeigen() soll das unerwünschte <div> aus- und das gewünschte eingeblendet werden, dann sollte erst in der Funktion uebertrag_kostentraeger_folgejahr() per AJAX die Datenbank angesprochen werden. Stattdessen wird aber zuerst die DB angesprochen (siehtr man eindeutig an den Ausgaben in der Konsole - und erst nachdem die Arbeit in der Datenbank beendet ist, geschieht das, was in felder_anzeigen() beschrieben ist.
Aus welchem Grund auch immer JS sich die Funktion felder_anzeigen() bis zum Ende aufhebt - für den Benutzer ist es ziemlich blöd, wenn er den Eindruck hat, dass sein Klick nichts bewirkt hätte. Es muss doch irgendwie möglich sein, zuerst das soeben angeklickte <div> Element auszublenden und dann erst weiterzumachen? Bin sehr gespannt auf eure Beiträge und danke im Voraus!
Ich habe folgendes Problem: Ein <div> Element wird geklickt - dann beginnt ein Arbeitsprozess der je nach der Anzahl der Datensätze die in der Datenbank bearbeitet werden, bis zu 30 Sek. dauern kann. Da jeder weitere Klick eines ungeduldigen Users während der 30 Sek. das ganze erneut starten würde, möchte ich das <div> zuerst ausblenden, ein anderes einblenden und mich dann erst mit der Datenbank vergnügen. Ich hatte mir das etwa so gedacht:
Code:
function start() { felder_anzeigen(); uebertrag_kostentraeger_folgejahr(); } function felder_anzeigen() { document.getElementById("run").style.display = "none"; document.getElementById("uebertrag").style.display = ""; } function uebertrag_kostentraeger_folgejahr() { // Zuerst werden die Kostenträger für alle Kunden auf die der Mitarbeiter Zugriff hat, auf das Folgejahr übertragen (es werden ALLE Kostenträger übertragen, nicht nur die, bei welchen Budgets angelegt sind) var jahr_von = document.getElementById("jahr_von").value; var jahr_bis = document.getElementById("jahr_bis").value; mein_link = "AJAX_REQUESTS.php?aktion=uebertrag_kostentraeger_folgejahr&jahr_von=" + jahr_von + "&jahr_bis=" + jahr_bis; console.log(mein_link); resOb = erzXHRObjekt(); resOb.open('get', mein_link, false); resOb.onreadystatechange = uebertrag_budgets_folgejahr; resOb.send(null); } function uebertrag_budgets_folgejahr() { // richtig viel Code... }
Aus welchem Grund auch immer JS sich die Funktion felder_anzeigen() bis zum Ende aufhebt - für den Benutzer ist es ziemlich blöd, wenn er den Eindruck hat, dass sein Klick nichts bewirkt hätte. Es muss doch irgendwie möglich sein, zuerst das soeben angeklickte <div> Element auszublenden und dann erst weiterzumachen? Bin sehr gespannt auf eure Beiträge und danke im Voraus!
Comment