Nach Anklicken des Absenden-Button wird dieser deaktiviert

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Nach Anklicken des Absenden-Button wird dieser deaktiviert

Beitrag von mgutt »

Der Button "Absenden" (Submit) und "Vorschau" (Preview) werden durch diese Änderung nach draufklicken des Users deaktiviert. D.h. er kann ihn nicht nochmal anklicken um dadurch einen Doublepost zu verursachen. Diese Änderung war notwendig, weil es manche User es trotz des Floodintervalls immer wieder geschafft haben Ihren Post erneut abzusenden.

Weiterhin wird der jeweilige Button mit dem Text "Bitte warten..." angezeigt.

öffne languages/german/lang_main.php und suche nach:

Code: Alles auswählen

$lang['Error'] = 'Fehler';
danach einfügen:

Code: Alles auswählen

$lang['Loading'] = 'Bitte warten...';
öffne posting.php:

Code: Alles auswählen

	'L_DELETE_POST' => $lang['Delete_post'],
danach einfügen:

Code: Alles auswählen

//-- mod : loading message -----------------------------------------------------
//-- add
			'L_LOADING' => $lang['Loading'],
//-- fin mod : loading message -------------------------------------------------
öffne templates/{TEMPLATE}/posting_body.tpl und suche nach:
(wie man sieht wurde diese Änderung bereits durch das phpBB-Team angedacht, aber leider nicht umgesetzt worden)

Code: Alles auswählen

		//formObj.preview.disabled = true;
		//formObj.submit.disabled = true;
danach einfügen:

Code: Alles auswählen

		if ( document.post.preview.value == '{L_LOADING}' )
		{
			setTimeout("document.post.preview.disabled = true;", 0);
		}
		else if ( document.post.post.value == '{L_LOADING}' )
		{
			setTimeout("document.post.post.disabled = true;", 0);
		}
suche nach:

Code: Alles auswählen

	  <td class="catBottom" colspan="2" align="center" height="28"> {S_HIDDEN_FORM_FIELDS}<input type="submit" tabindex="5" name="preview" class="mainoption" value="{L_PREVIEW}" />&nbsp;<input type="submit" accesskey="s" tabindex="6" name="post" class="mainoption" value="{L_SUBMIT}" /></td>
ersetze gegen:

Code: Alles auswählen

	  <td class="catBottom" colspan="2" align="center" height="28"> {S_HIDDEN_FORM_FIELDS}<input type="submit" tabindex="5" name="preview" class="mainoption" value="{L_PREVIEW}" onmousedown="this.value='{L_LOADING}'" />&nbsp;<input type="submit" accesskey="s" tabindex="6" name="post" class="mainoption" value="{L_SUBMIT}" onmousedown="this.value='{L_LOADING}'" /></td>
Ach ja, vielleicht ist das ja was für die Snippets :D
Zuletzt geändert von mgutt am 15.10.2006 16:00, insgesamt 1-mal geändert.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
CrYiNg
Show-Off Team
Beiträge: 1256
Registriert: 01.05.2005 10:33

Beitrag von CrYiNg »

Hallo!

Ich glaube, dass gibt es auch schon als normalen Mod. Ja, der
"Post Is Sending" Mod. Aber deinen finde ich auch super. :wink:

CrYINg :cry:
Benutzeravatar
Seimon
Mitglied
Beiträge: 893
Registriert: 23.02.2005 18:10
Wohnort: Linz, Österreich

Beitrag von Seimon »

CrYiNg hat geschrieben:Ja, der "Post Is Sending" Mod.
jepp
-> http://www.phpbb.de/viewtopic.php?p=422280#422280
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Hmm.. mit dem Timeout hat der das getrickst... muss ich mal testen.

Aber das doofe bei ihm ist, dass der bei Klick auf vorschau den absenden button deaktiviert und nicht den preview button. besser wären dann beide.. mich wundert aber warum das überhaupt geht.. wahrscheinlich wegen dem timeout. denn wenn der button disabled wurde, dann hat das script nichts mehr zu empfangen, aber ich teste das mal aus.

gruß

EDIT:
So ich habe den Mod angepasst. Jetzt ist er kompakter und funktioniert genauso wie vorher auch :D

Der Trick mit dem setTimeout ist super, weil das Formular erst abgesendet und dann innerhalb von 0 Sekunden die Änderung durchgeführt wird. (also trotzdem noch gleichzeitig) Dadurch konnte ich auf die Hidden Felder verzichten.

Übrigens achte ich bei allen meinen Javascriptänderungen darauf, dass sie auch ohne aktiviertem Javascript die Seite nicht beeinflussen. Also ihr müsste keine Angst haben, dass bei deaktiviertem Javascript plötzlich kein Post oder sowas abgesendet werden kann.

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

War wohl nicht deine Baustelle -->

http://www.phpbb.de/viewtopic.php?t=132629
EP_FAN
Mitglied
Beiträge: 47
Registriert: 29.02.2004 10:01
Wohnort: Taunusstein

Beitrag von EP_FAN »

Also mir fällt gerade auf das man in der posting.php auch etwas ändern muss.

öffne privmsg.php und suche nach:

Code: Alles auswählen

'L_ATTACH_SIGNATURE' => $lang['Attach_signature'],
danach einfügen:

Code: Alles auswählen

//-- mod : loading message -----------------------------------------------------
//-- add
         'L_LOADING' => $lang['Loading'],
//-- fin mod : loading message -------------------------------------------------
Somit steht "Bitte warten..." auch bei PMs !!!
Ansonsten wird das Feld lehr

Gruß EP_FAN
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“