Bitte Warten Funktion (oder mehrstufige Ausgabe möglich?)

Vom Front-End bis SOAP.

Moderator: Moderatoren

Antworten
DelUser01

Bitte Warten Funktion (oder mehrstufige Ausgabe möglich?)

Beitrag von DelUser01 »

Hallo

Hab' da Mal eine Frage:

Wenn von einem User eine Auswertung angefordert wird die etwas dauert hätte ich gern eine Anzeige wie "Daten werden aufbereitet, bitte warten...".
Wenn dann die tatsächlichen Daten ausgegeben werden soll diese Anzeige verschwinden.

Ich habe das versucht:

Code: Alles auswählen

oHTML:Put(
<html>
...
</html>
<Body>
bitte warten
</Body>
</html>
)

...hier läuft dann die DATENAUFBEREITUNG

oHTML:Put(
<html>
...
</html>
<Body>
DATENLISTE
</Body>
</html>
)
Das funktioniert aber nicht. Es steht dann oben "bitte warten" und danach kommt gleich die Datenliste.

Kann man so etwas machen?
Wenn ja wie?

Schon Mal Danke für die Tips!

MfG
Roland
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 389
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Bitte Warten Funktion (oder mehrstufige Ausgabe möglich?

Beitrag von Armin »

Hallo Roland,

das wird am besten von der HTML-Seite aus gesteuert.
z.B. mit 2 DIV - eines für den Hauptbereich und ein 2.DIV mit bitte warten - wenn dann das neue HTML vom Server kommt wird es wieder überschrieben

Code: Alles auswählen

<html>
<script Language="JavaScript">
function warten(url) 
{
	document.getElementById("div_content").style.display = "none";
	document.getElementById("div_warten").style.display = "block";
        window.location.href = url;
}
</script>
<body>
<div id="div_content" style="visibility:hidden;display:none">
   <a href="" onclick="return warten("/cgi-bin/waa1gate.exe?WAA_PACKAGE=...");" class="button">Weiter</a>
</div>
<div id="div_warten" style="visibility:hidden;display:none">
   hier bitte warten zeigen
</div>
</body>
</html>
Du kannst natürlich auch das Javascript usw. per oHtml.put() schreiben

Es gibt auch noch andere Möglichkeiten - Du kannst auch zuerst per Server ein Bitte Warten HTML zeigen, das dann z.B. eine Weiterleitung zum Aufbereiten des Inhaltes enthält

Gruß, Armin
DelUser01

Re: Bitte Warten Funktion (oder mehrstufige Ausgabe möglich?

Beitrag von DelUser01 »

Hallo Armin,

Deine Vorschläge werde ich ausprobieren.
Danke!

Gruß
Roland
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 389
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Bitte Warten Funktion (oder mehrstufige Ausgabe möglich?

Beitrag von Armin »

Hallo Roland,

Du kannst es auch mit 2 DIVs schreiben und wenn es dann geladen ist, die DIVs wechseln z.B.:

Code: Alles auswählen

oHTML:Put(
<html>
<Body>
<div id="div_content" style="display:block">
bitte warten
</div>
)

...hier läuft dann die DATENAUFBEREITUNG

oHTML:Put(
<div id="div_content" style="display:none">
DATENLISTE
</div>
</Body>
<script Language="JavaScript">
   document.getElementById("div_warten").style.display = "none";
   document.getElementById("div_content").style.display = "block";
</script>

</html>
)
So könnte das auch funktionieren. Das Javascript am Ende wird automatisch ausgeführt und wechselt die DIVs
Wenn es nicht klappt, frag mich gleich wieder - ich habe schon mehrere Versionen implementiert.

Normal reicht display:none und display:block. Du kannst auch, falls es nicht richtig funktioniert noch visibility:hidden und visibility:visible dazu nehmen.

Grüße, Armin
DelUser01

Re: Bitte Warten Funktion (oder mehrstufige Ausgabe möglich?

Beitrag von DelUser01 »

Hallo Armin,

ich schaue welche Variante mein Web-Server verkraftet. Wird aber Wochenende bis ich zu den Versuchen komme.
Dann melde ich mich hier wieder..

Tschüss!
Roland
DelUser01

Re: Bitte Warten Funktion (oder mehrstufige Ausgabe möglich?

Beitrag von DelUser01 »

Hallo

Der Vollständigkeit halber:
Habe inzwischen für mich eine Lösung gefunden:

Dem WAA-Kommando habe ich ein weiteres Feld hinzugefügt
WAIT=YES
mit diesem Steuere ich eine automatische Bitte-Warten-Seite.
Wenn WAIT=YES wird die Bitte-Warten-Seite angezeigt und im
Header META mit Refresh 0 der gesamten WAA-String nochmal weggeschickt, jetzt aber mit
WAIT=NO
Das macht natürlich nur Sinn für etwas länger dauernde Abfragen. Das steuere ich zusätzlich mit einem Flag in der entsprechenden WAA_FORM.

Insgesamt wird damit wenigstens verhindert, dass ungeduldige zu oft auf den "Auswerten" Button klicken (o.ä).

Gruß
Roland
Antworten