[JS] Script für BBcode

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JS] Script für BBcode

    Hi

    ich hab ein js script gefunden mit dem man ganz einfach gewisse bbcode tags in ein textbereich einfügen kann. das funktioniert per button, link usw. ich möchte aber dass das auch mit einer dropdown liste geht.

    z.b. die drop downliste:
    - blue
    - green
    - red

    wenn ich jetzt green auswähle, soll er folgendes tag in de textbereich einfügen: [color=green]markierter text[/color]


    das script:
    Code:
    function format(v,form,field)
     {
     if (document.selection) // für IE
       {
        var str = document.selection.createRange().text;
        document.forms[form].elements[field].focus();
        var sel = document.selection.createRange();
        sel.text = "[color=" + v + "]" + str + "[/" + v + "]";
        return;
       }
      else if ((typeof document.forms[form].elements[field].selectionStart) != 'undefined') // für Mozilla
       {
        var txtarea = document.forms[form].elements[field];
        var selLength = txtarea.textLength;
        var selStart = txtarea.selectionStart;
        var selEnd = txtarea.selectionEnd;
        var oldScrollTop = txtarea.scrollTop;
        var s1 = (txtarea.value).substring(0,selStart);
        var s2 = (txtarea.value).substring(selStart, selEnd)
        var s3 = (txtarea.value).substring(selEnd, selLength);
        txtarea.value = s1 + '[color=' + v + ']' + s2 + '[/' + v + ']' + s3;
        txtarea.selectionStart = s1.length;
        txtarea.selectionEnd = s1.length + 5 + s2.length + v.length * 2;
        txtarea.scrollTop = oldScrollTop;
        txtarea.focus();
        return;
       }
      else insert('<' + v + '></' + v + '> ');
     }
    danke und gruss

  • #2
    Re: [JS] Script für BBcode

    Original geschrieben von PHPbeginner
    ich möchte aber dass das auch mit einer dropdown liste geht.
    und deshalb hast du dich natürlich erst mal in selfhtml informiert, wie man bei selectfeldern die gewählte option ermittelt, und auf änderungen des feldes reagiert, richtig?

    gut, was ist denn dann jetzt noch unklar ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ich hab das so gemacht aber funktioniert nicht wirklich:

      Code:
      function format(fieldname,form,field)
      v = document.getElementById(fieldname).value; 
      {
       if (document.selection) // für IE
         {
          var str = document.selection.createRange().text;
          document.forms[form].elements[field].focus();
          var sel = document.selection.createRange();
          sel.text = "[color=" + v + "]" + str + "[/" + v + "]";
          return;
         }
        else if ((typeof document.forms[form].elements[field].selectionStart) != 'undefined') // für Mozilla
         {
          var txtarea = document.forms[form].elements[field];
          var selLength = txtarea.textLength;
          var selStart = txtarea.selectionStart;
          var selEnd = txtarea.selectionEnd;
          var oldScrollTop = txtarea.scrollTop;
          var s1 = (txtarea.value).substring(0,selStart);
          var s2 = (txtarea.value).substring(selStart, selEnd)
          var s3 = (txtarea.value).substring(selEnd, selLength);
          txtarea.value = s1 + '[color=' + v + ']' + s2 + '[/' + v + ']' + s3;
          txtarea.selectionStart = s1.length;
          txtarea.selectionEnd = s1.length + 5 + s2.length + v.length * 2;
          txtarea.scrollTop = oldScrollTop;
          txtarea.focus();
          return;
         }
        else insert('<' + v + '></' + v + '> ');
       }

      Kommentar


      • #4
        Original geschrieben von PHPbeginner
        ich hab das so gemacht aber funktioniert nicht wirklich:
        hurra.
        und wann lernst du endlich mal debuggen ...?

        Code:
        v = document.getElementById(fieldname).value;
        bin mir nicht sicher, ob der IE value bei selectfeldern kennt.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar

        Lädt...
        X