Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Nebenläufigkeit

0 views
Skip to first unread message

Stefan Becker

unread,
Dec 7, 2009, 6:10:46 AM12/7/09
to
Hallo,

ich habe eine gr��ere Schleife abzuarbeiten, wo der Benutzer immer
warten muss. Manche klicken dann noch ein weiteres mal. Gibt es eine
M�glichkeit den Aufruf auf zwei Daten zu verweisen, also eine
Best�tigung, die andere zum abarbeiten der Schleife?

--
MfG

Stefan Becker

Klaus Zerwes

unread,
Dec 7, 2009, 7:20:58 AM12/7/09
to


Mit Hilfe von Ajax-Verrenkungen ist sowas realisierbar.

Klaus


--
Klaus Zerwes
http://www.zero-sys.net

Werner Flamme

unread,
Dec 7, 2009, 7:42:37 AM12/7/09
to
Stefan Becker [07.12.2009 12:10]:

Hallo Stefan,

ich habe eine JavaScript-Funktion, die beim Anklicken des Buttons
aufgerufen wird. Es �ndert die Beschriftung des Buttons (der bei mir
"gehtLos" hei�t), startet die Verarbeitung (Befehl
"document.abcxyz.submit()") und deaktiviert den Button. Damit k�nnen
meine User ein paarmal auf dem Button rumklicken, aber das Formular
merkt nichts mehr davon.

<script type="text/javascript">
<!--
var cnt=0;
function plsWait() {
var result = false;
document.getElementsByName("gehtLos").value="Bitte warten Sie...";
if (cnt==0) {
document.abcxyz.submit();
var result = true;
}
document.getElementsByName("gehtLos").disabled=true;
cnt++;
return result;
}
-->
</script>

Die Idee zu diesem Script habe ich mir frecherweise vor ein paar Jahren
von einer ebay-Seite (Gebot abgeben) abgeguckt :-)

Die Funktion ist f�r mich recht n�tzlich - sie steht sie auf einer
Seite, die aus dem Intranet SAP-Daten abfragt, und das dauert immer...
Au�erdem sind viele User so von Windows verzorkt, dass sie auf jedem
Button mindestens doppelt klicken...

HTH
Werner

Matthias P. Wuerfl

unread,
Dec 7, 2009, 8:15:29 AM12/7/09
to
Stefan Becker schrieb:

Mehrere M�glichkeiten:

1. Job in eine Warteschleife stellen, die von einem Cronjob abgearbeitet
wird

2. Zuerst eine Ausgabe "Bitte warten" machen, flush(), dann "arbeiten"
und dann Weiterleitung auf Fertig-Seite.

3. Auf eine Seite "Bitte warten" weiterleiten, die die
Verarbeitung-Seite in einem iframe aufruft

....

Gr��e, Matthias

Ulf [Kado] Kadner

unread,
Dec 7, 2009, 8:45:10 AM12/7/09
to
Hallo Stefan Becker! Du schriebst:

> ich habe eine größere Schleife abzuarbeiten, wo der Benutzer immer


> warten muss. Manche klicken dann noch ein weiteres mal. Gibt es eine

> Möglichkeit den Aufruf auf zwei Daten zu verweisen, also eine
> Bestätigung, die andere zum abarbeiten der Schleife?

Ich wills mal einfach ausdrücken:

Du könntest hier z.B. einfach einen neuen, unabhängigen Prozess anstoßen
der, solange er läuft, irgendwo (Datenbank, Dateisystem) einen gesperrt-
Status hinterlegt.

Das was dem User angezeigt wird ist dann HTML (Verarbeitung läuft.. bitte
warten) das periodisch per Meta-Refresh neu gelden wird und vor jedem
erneuten Anzeigen prüft ob der Prozess beendet wurde (Sperre existiert
nicht mehr) welches dann als Endmeldung zum gegebenen Zeitpunkt offeriert
wird.

Damit hier Nutzer nicht außen vor bleiben, deren Browser Meta-Refreshs
nicht unterstützen solle immer ein Text in der folgenden Form (o.Ä.)
angezeigt werden:

"Bitte mind. $Interval Sekunden warten und dann _hier_ klicken
um zu sehen ob der datenverarbeitende Prozess beendet ist."

Hängt natürlich vom Kontext ab was da für ne Meldung eher Sinn macht.

Javascript ist dazu nicht nötig, aber als evtl. Komfort-Extra für
Besucher mit aktivierten JS durchaus sinnvoll. Aber implementiere erst
mal du Grundfunktionalität bevor Du über JS nachdenkst.

MfG, Ulf

--
Es würde gegen meine Programmierung verstoßen, eine Gottheit
zu personifizieren. [C-3PO]

0 new messages