Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Anmeldungen zum Forentreffen 2018 sind auf der Anmeldeseite möglich
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

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

Vom Front-End bis SOAP.

Moderator: Moderatoren

Antworten
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
Beiträge: 904
Registriert: Fr, 24. Nov 2006 8:30
Wohnort: Neresheim
Kontaktdaten:

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

Beitrag von Roland Gentner » Fr, 06. Dez 2013 21:46

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
Gruß
Roland

Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 366
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

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

Beitrag von Armin » Mi, 19. Feb 2014 12:25

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

Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
Beiträge: 904
Registriert: Fr, 24. Nov 2006 8:30
Wohnort: Neresheim
Kontaktdaten:

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

Beitrag von Roland Gentner » Mi, 19. Feb 2014 12:52

Hallo Armin,

Deine Vorschläge werde ich ausprobieren.
Danke!

Gruß
Roland
Gruß
Roland

Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 366
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Kontaktdaten:

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

Beitrag von Armin » Mi, 19. Feb 2014 13:50

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

Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
Beiträge: 904
Registriert: Fr, 24. Nov 2006 8:30
Wohnort: Neresheim
Kontaktdaten:

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

Beitrag von Roland Gentner » Mi, 19. Feb 2014 14:29

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
Gruß
Roland

Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
Beiträge: 904
Registriert: Fr, 24. Nov 2006 8:30
Wohnort: Neresheim
Kontaktdaten:

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

Beitrag von Roland Gentner » Fr, 11. Jul 2014 10:58

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
Gruß
Roland

Antworten