Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Javascript ausführen bei der Erstellung eines Beitrags
Hallo,
ich wollte mich erst in das ganze Plugin-System einarbeiten und es selbst machen, aber ich fühle mich doch etwas erschlagen und hoffe, dass mich jemand beraten kann, da ich tatsächlich gerne nur eine einfache Sache in mein Forum einbauen würde:
Beim Erstellen eines Beitrags (also beim Klick auf "Beitrag speichern") soll das folgende Javascript ausgeführt werden, das eine Reihe von 20 Zufallszahlen zwischen 0 und 9 ausgibt:
2
3
4
5
6
7
8
9
10
11
12
13
<? $nachricht=(isset($_POST['nachricht']))?$_POST['nachricht']:''; ?>
<html><head><title>TA + JS</title>
<script type="text/javascript">
<!--
function diceAndSend(){var c=String.fromCharCode(13);var s=c+c+'---'+c+'Würfel:';
for(var i=0;i<20;i++){var x=Math.round(Math.random()*9);if(i%5==0)s+=' ';s+=x;}
document.getElementsByName("nachricht")[0].value+=s;document.getElementsByName('newms')[0].submit();}
//-->
</script></head><body>
<form name="newms" method="post">
<textarea name="nachricht" style="width:600px;height:600px;"><?= $nachricht; ?></textarea>
<input type=button onclick="javascript:diceAndSend();" value="senden">
</form></body></html>
Meine Fragen:
Was für eine Art von "Element" muss ich hierfür erstellen?
Was muss ich ggf. im Code anpassen, damit das korrekt ausgeführt wird?
Durch welche Seiten lese ich mich ggf. am besten durch, um das umzusetzen?
Falls das doch sehr einfach ist und mich jemand da sogar komplett durchführen kann, würde ich mich natürlich noch mehr freuen
Viele Grüße,
Laconda
Zitat von Laconda im Beitrag #1
Falls das doch sehr einfach ist und mich jemand da sogar komplett durchführen kann, würde ich mich natürlich noch mehr freuen
Dazu müsstest Du uns mehr über Deinen Zweck des Javascript erklären.
Da Du eine eigene Textarera erstellt hast,nehme ich an,das Du das Javascript in eine externe Seite einbauen willst.
Wofür soll die Würfelfunktion sein?
Vom Javascript her soll man einen Text eingeben,dann wird beim Absenden des Textes eine mehrstellige Zahl "erwürfelt",die mit dem Text abgespeichert werden soll.
Die Funktion müsstest Du uns mal genauer erklären,damit man genau weiss,was Du haben möchtest.
Gruß
Olaf
Guten Morgen
Vielen Dank für Deine Antwort!
Nein, eigentlich soll das in keine separate Textarea. Inwiefern hab ich eine erstellt? Ich weiß nicht mal wie bzw. was du meinst.
Und die Funktion ist genau die, die du bereits beschrieben hast: wenn ein User einen Beitrag postet, sollen die Zufallszahlen generiert werden. Nichts weiter.
Ich möchte das Forum als Play-By-Post für unsere Rollenspielrunde nutzen.
Viele Grüße,
Laconda
#4 RE: Javascript ausführen bei der Erstellung eines Beitrags
Wenn Du das Plugin selber schreiben willst,dann wirst Du Dich wohl in der API des Pluginsystem durcharbeiten müssen und vor allem auch in das Templatesystem.Ohne dem wird es nichts.
Hier mal ein kleines Flußdiagramm,wie das Plugin aussehen sollte:
- Abfrage → handelt es sich um die Thread ID (Der Bereich,wo nur diese Funktion vorhanden sein soll)
- Abfrage → handelt es sich um das Element "Beitrag schreiben"
- Abfrage → wird der Button "Beitrag senden" gedrückt
- wenn ja,dann Javascript "Zahlen erzeugen" auslösen und vor dem Absenden die Zahlen in die Textarea einfügen
Gruß
Olaf
Hallo, ich hoffe es ist ok, wenn ich nochmal frage, bzw. mich korrigiere?
Tatsächlich sollen nur diese 3 Zeilen Javascript ausgeführt werden (den generierten Text ans Ende des Textfeldes anhängen), sobald jemand auf "Beitrag speichern" klickt. Ich brauche keine externen Variablen oder Abfragen oder sonstiges.
Vielleicht kann mir doch noch jemand sagen, wo ich das einfügen muss?
2
3
function diceAndSend(){var c=String.fromCharCode(13);var s=c+c+'---'+c+'Würfel:';
for(var i=0;i<20;i++){var x=Math.round(Math.random()*9);if(i%5==0)s+=' ';s+=x;}
document.getElementsByName("nachricht")[0].value+=s;document.getElementsByName('newms')[0].submit();}
...oder was ich falsch mache?
Was ich probiert habe:
→ "Neues Element erstellen" → "Template Element" → "Neuen Beitrag schreiben" → "New message footer (...)" → dort das Script eingefügt...
Wo liegt mein Fehler?
Gruß, Laconda
#7 RE: Javascript ausführen bei der Erstellung eines Beitrags
So solltes funktionieren. Allerdings kann man im Beitrag nichts schreiben, da das Script direkt speichert.
Wenn du die Zeile 11 weg lässt, kann man noch schreiben und dann den Speicher-Button drücken.
2
3
4
5
6
7
8
9
10
11
12
13
14
<script>
function diceAndSend() {
var c=String.fromCharCode(13);
var s=c+c+'---'+c+'Würfel:';
for(var i=0;i<20;i++){
var x=Math.round(Math.random()*9);
if(i%5==0) s+=' ';
s+=x;
}
document.getElementsByName("nachricht")[0].value+=s;
document.getElementsByName('newms')[0].submit();
}
diceAndSend();
</script>
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
#8 RE: Javascript ausführen bei der Erstellung eines Beitrags
So geht es.
Erst nach Speicher-Button wird der Würfel eingefügt und gespeichert.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
function diceAndSend() {
var c=String.fromCharCode(13);
var s=c+c+'---'+c+'Würfel:';
for(var i=0;i<20;i++){
var x=Math.round(Math.random()*9);
if(i%5==0) s+=' ';
s+=x;
}
document.getElementsByName("nachricht")[0].value+=s;
}
$('#newmsg').click(function() { // auf Speicher-Button triggern
diceAndSend(); // dann die Wuerfel-Funktion aufrufen
});
</script>
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
#10 RE: Javascript ausführen bei der Erstellung eines Beitrags
Ich habe es in Neuen_Beitrag_schreiben - Footer
Ist das Plugin auch aktiv?
Welches Template verwendest du?
Ich habe es für das Business gemacht. Ist wichtig wegen dem Speicher-Button. Der ist in anderen Templates bestimmt anders.
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
Die ForenVariable {{thread_id}} steht da scheinbar nicht zur Verfügung, obwohl die ID an mehreren Stellen verwendet wird.
Ich mein. auch schon mal danach gesucht zu haben. Weiß die Lösung aber jetzt nicht mehr. Vielleicht finde ich noch was.
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
#13 RE: Javascript ausführen bei der Erstellung eines Beitrags
Bei mir sieht das anders aus. Ein Feld für "Element" gibt es bei mir nicht.
Nur wenn ich erst auf "Inline-Element" klicke, dann wieder "Footer" aktiviere, taucht es auf. Dann steht da aber "new_message_... (1standard, ..."), also etwas anderes als bei dir.
Bei Erstellung erhalte ich manchmal (nicht immer) die Fehlermeldung: "falseDuplicate entry '797385-dizeplugin-new_message-footer-' for key 'PRIMARY' SQL was: INSERT INTO forum_plugin_pages (board,pluginid,trigger_templatename,view_templatename,view_where,view_inline ) VALUES ('797385','dizeplugin','new_message','plugin_dizeplugin_new_message_footer','footer','' ) - "
Aber selbst wenn alles gut geht, werden keine Zahlen generiert und in den Beitrag geschrieben.
Woran erkenne ich, ob das Plugin "aktiv" ist, wo wird das angezeigt?
Und wie wähle ich das Business-Template aus? Markiert sind bei mir bei Erstellung alle außer Mobile (unter "Unterstützte Templates"). Ich wusste gar nicht, dass ich da etwas auswählen muss.
...auch das "Hallo Welt"-Tutorial (bis "Ein kurzer Test auf der Foren-Startseite sollte uns bestätigen, dass dort nun unser Plugin-Element ausgeführt wird und der Text "Hallo Welt" erscheint.") wird bei mir nicht ausgeführt, obwohl ich es nochmal Schritt für Schritt umgesetzt habe.
Javascript ist bei mir eingeschaltet. Getestet habe ich mit Firefox und Internet Explorer. Dennoch taucht bei mir nirgends "Hallo Welt" auf.
Woran kann das liegen?
Bin zwar blutiger Anfänger, aber dass nicht mal das funktioniert, bringt mich gerade leicht zur Verzweiflung...
Welches Template hat dein Forum?
- Business
- Gaia
- ProSilver
- Standard
Wenn das (http://797385.xobor.de/) dein Forum ist, sieht aus wie Gaia.
Zu sehen unter
Admin → Template Entwicklung → Template
Im Gaia funktioniert mein Script nicht. Muss auf Gaia angepasst werden. Da hat der Speicher-Button andere Selektoren.
www.friends-of-xobor.de (621181 - Template kann wechsel bei Pluin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Ähnliche Themen
Jetzt anmelden!
Jetzt registrieren!
© 2017 Xobor | Forum-Software