Seite 1 von 1

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

Verfasst: Fr, 06. Dez 2013 21:46
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

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

Verfasst: Mi, 19. Feb 2014 12:25
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

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

Verfasst: Mi, 19. Feb 2014 12:52
von DelUser01
Hallo Armin,

Deine Vorschläge werde ich ausprobieren.
Danke!

Gruß
Roland

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

Verfasst: Mi, 19. Feb 2014 13:50
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

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

Verfasst: Mi, 19. Feb 2014 14:29
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

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

Verfasst: Fr, 11. Jul 2014 10:58
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