Verhinderung von Mehrfachklicks

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
wksys
Mitglied
Beiträge: 28
Registriert: 17.08.2003 13:18
Wohnort: Bad Mergentheim

Verhinderung von Mehrfachklicks

Beitrag von wksys »

Wenn der Server, auf dem sich phpBB befindet. langsam (oder überlastet) ist, kommt es vor, daß man nicht sofort auf der Stelle eine Reaktion erkennt, wenn man (z.B. nach dem Schreiben einer message) auf „Absenden” klickt.

Unerfahrene Benutzer klicken dann mehrfach auf „Absenden”, mit dem Resultat, daß die message mehrfach gespeichert wird.
(Erfahrene Benutzer sehen in der Statuszeile des Browsers, ob sich etwas tut).

Gibt es einen Weg, derartige Mehrfachklicks zu unterbinden ?
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Du könntest beim Klicken des Buttons den Button mit JavaScript deaktivieren, wie das geht kannst du bei SelfHTML nachlesen.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
Olli Oberhausen
Mitglied
Beiträge: 561
Registriert: 22.10.2004 01:03
Wohnort: Oberhausen NRW
Kontaktdaten:

Beitrag von Olli Oberhausen »

Wenn du das zu deinem Submit button hihzufügst, hast du wenigstens schon mal ne warnmeldung...

Code: Alles auswählen

onclick="this.value= 'Bitte warten.';"
Olli
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

Olli_Moers hat geschrieben:Wenn du das zu deinem Submit button hihzufügst, hast du wenigstens schon mal ne warnmeldung...
...und so wird der Button auch noch deaktiviert, also zumindest bei aktiviertem JavaScript ein doppeltes Absenden verhindert:

Code: Alles auswählen

onclick="this.value='Bitte warten.'; this.disabled=true;"
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Ok deaktiviert schon und dann? Der Event-Handler onsubmit startet nicht vor onclick

und beim Posten passiert dann irgendwie nix. :-? easy
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

easygo hat geschrieben:Ok deaktiviert schon und dann? Der Event-Handler onsubmit startet nicht vor onclick

und beim Posten passiert dann irgendwie nix. :-? easy
Stimmt... aber so sollte es weitergehen:

Code: Alles auswählen

onclick="this.value='Bitte warten.'; this.disabled=true; return true;"
Wird natürlich dann haarig, wenn die per onsubmit aufgerufenen Funktion 'nen Abbruch produziert - also sollte man in solch einem Fall die Deaktivierung des Submit-Buttons auch dort unterbringen.
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Banger hat geschrieben:Stimmt... aber so sollte es weitergehen:

Code: Alles auswählen

onclick="this.value='Bitte warten.'; this.disabled=true; return true;"
Alles schon durchprobiert, das will einfach nicht bei mir. Die Funktion checkForm()
braucht ein return true; kriegt aber keins und darum auch keine Aktion.

Hab mal die var formObj definiert, um die 2 auskommentierten Zeilen zu reaktivieren.

//formObj.preview.disabled = true;
//formObj.submit.disabled = true;

Blos dann kommt -> preview/submit ist Null oder kein Objekt usw.

EDIT: Hier gibts ne Lösung, die funktioniert -->

http://www.phpbb.com/phpBB/viewtopic.php?t=201507
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Ich hab zufällig auch eine Version dazu geschrieben:
http://www.phpbb.de/viewtopic.php?t=133380

Meine Version berücksichtigt beide Buttons, wobei ich die privmsg noch einbinden muss. Folgt aber :D

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

Ganz am Rande: phpBB bringt eigentlich schon Bordmittel mit, die Mehrfachpostings ausschließen: man muss nur das Flood-Intervall dementsprechend einrichten. 30 Sekunden haben sich bei guitarworld.de als praktikabel erwiesen.
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

30 Sekunden ist nervig und wenn Du den 1. Post gelesen hast, weißt Du warum es trotzdem nichts bringt. Bei mir ist es genauso. Wenn der Server mal länger lädt geht es los mit Doubleposts.

So ein Addon ist schon was feines. Nicht umsonst bereits standardmäßig angedacht gewesen das ganze :D

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Antworten

Zurück zu „Coding & Technik“