Günter: Eigenen BB Codebutton erstellen

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

  1. 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

  2. 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

  3. 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

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen All und Alligator.