Eigenen BB Codebutton erstellen
Günter
- javascript
Hallo :) ,
Ich hab auf meiner Seite ein Textfeld in dem man einige BB-Codes verwenden kann und möchte jetzt ein paar buttons darunter anbringen über die man die BB-Code Tags dort automatisch einfügen lassen kann und die den Cusor im Textfeld dann entsprechend zwischen die beiden Tags setzt.
Das Textfeld sieht so aus:
<input id="shoutbox_editor1" class="primary textbox" type="text" style="width:100%" data-instanceid="1" name="shoutbox_editor">
unter dem Textfeld möchte ich jetzt einen button anbringen, der, wenn man ihn klickt in das Textfeld z.b.:
[img][/img]
einfügt und den cursor zwischen die beiden Tags setzt, so dass man nur noch den button klicken, den Link pasten und absenden muss.
Am besten wäre, wenn man das ganze mehrfach verwenden könnte, da ich einige BB-Codes gerne in buttonform unter das textfeld bringen möchte.
Ich bin leider in sachen Javascript nicht so bewander wie ich es gerne wäre, eher sogar leider noch blutiger anfänger ^^
Vielen Dank auf jeden Fall schonmal :)
MFG
Du brauchst natürlich die Cursorposition
Der Rest ist einfach:
Text aus dem Input holen.
Text vor Cursor mit http://de.selfhtml.org/javascript/objekte/string.htm#substr@title=subtr() holen.
Text nach Cursor mit subtr() holen.
wert des Inputs auf textVor + Einfügung + textNach setzen
Das kannst Du selbst.
Jörg Reinholz
HiHo
Das ist relativ einfach, hier ein kleiner Ausschnitt für den HTML-Bereich
<!-- entweder per Bild -->
<img alt="" name="b" onclick="javascript: simpletag('b');" src="editor/bold.png" style="cursor: pointer; font-weight: bold; vertical-align: middle;">
<!-- oder per input -->
<input name="b" onclick="javascript: simpletag('b')" style="font-weight: bold; font-size: 9px;" type="button" value="B">
dann brauchst du folgende Befehle für das JavaScript
einfach das SHBOX gegen den <form name="wasauchimmer" austauschen
var b_open = 0;
function simpletag(thetag) {
var tagOpen = eval(thetag + "_open");
if (tagOpen == 0) {
if(doInsert("[" + thetag + "]", "[/" + thetag + "]", true)) {
eval(thetag + "_open = 1");
eval("document.shbox." + thetag + ".value += '*'");
pushstack(bbtags, thetag);
cstat();
}
} else {
lastindex = 0;
for (i = 0; i < bbtags.length; i++ ) {
if ( bbtags[i] == thetag ) {
lastindex = i;
}
}
while (bbtags[lastindex]) {
tagRemove = popstack(bbtags);
doInsert("[/" + tagRemove + "]", "", false)
if ((tagRemove != 'COLOR') ) {
eval("document.shbox." + tagRemove + ".value = ' " + tagRemove + " '");
eval(tagRemove + "_open = 0");
}
}
cstat();
}
}
ich glaube das war alles soweit ich mich erinnern kann
Om nah hoo pez nyeetz, Günter!
Auf den Antwortseiten dieses Forums werden auch BBCode-Buttons per JavaScript eingefügt. Schau doch einfach mal in den Quelltext.
Matthias