Problem: Javascript und BBcode-Erzeugung

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

  • Problem: Javascript und BBcode-Erzeugung

    Hallo!

    Ich arbeite grad an einem Text-Eingabefeld mit BBcode-Buttons. Mit diesen soll man entweder markierten Text in BBcode-Tags setzen oder ohne Markieren von Text einfach BBcode-Tags in das Eingabefeld schreiben können. Die Funktion addBBcode(tag) wird aufgerufen durch Klicken auf die BBcode-Buttons B, I, T usw. über dem Eingabefeld. Hier hab ich aber ein paar Probleme. Hier die Funktion:


    function addBBcode(tag)

    {
    var text='';

    /* Ermitteln ob einzelne Textpassagen im Textfeld markiert wurden */

    if (window.getSelection){
    text = window.getSelection();
    }
    else if (document.getSelection){
    text = document.getSelection();
    }
    else if (document.selection){
    text = document.selection.createRange().text;
    }
    else return;

    /* wenn ja, wird der markierte Text eingerahmt von BBcode-Tags */

    if(text){
    var toAdd="["+tag+"]"+text+"[/"+tag+"]";
    var str=document.text.message.value;
    var newtext=str.replace(text, toAdd);
    document.text.message.value=newtext;
    }

    /* Andernfalls wird einfach ein BBcode-Tag in den Text gesetzt*/
    /* Wenn bereits ein entsprechendes Start-Tag gesetzt wurde, */
    /* wird automatisch ein End-Tag gesetzt */

    else{
    var textmessage=document.text.message.value;
    var suchwort="["+tag+"]";
    var woerter= textmessage.split(suchwort);
    var laenge= woerter.length;
    var letzteswort=woerter[laenge];

    if(letzteswort.indexOf("suchwort")>-1){
    var toAdd="[/"+tag+"]";

    }

    /* Wenn kein entsprechendes Start-Tag gesetzt wurde wird eins */
    /* ins Textfeld geschrieben */

    else{
    var toAdd="["+tag+"]";

    }
    document.text.message.value+=toAdd;
    }
    document.text.message.focus();
    return tag;
    }


    So weit so gut... Folgende Probleme sind aufgetreten: Netscape/Mozilla/Firefox wollen keinen markierten Text durch BBcode einrahmen sondern setzen die entsprechenden Tags einfach an den Textanfang im Textfeld (das gleiche tritt auch auf wenn ich einfach ein Tag durch klicken ins Textfeld schreiben will).

    IE rahmt markierten Text anstandslos durch Tags ein, aber ich krieg folgende Fehlermeldung wenn ich einfach ein Tag reinsetzen will:

    'undefined' ist Null oder kein Objekt


    HAt jemand ne Idee wo der Fehler stecken könnte?

    Vielen Dank im voraus,

    Karsten
    Zuletzt geändert von Karsten06; 26.04.2006, 23:16.

  • #2
    Firefox und Konsorten verstehen nur ordentliches DOM

    =>
    http://de.selfhtml.org/javascript/ob...ements_by_name
    http://de.selfhtml.org/javascript/ob..._element_by_id

    und außerdem:
    http://www.mylittlehomepage.net/demo...a_demo_de.html
    [color=black] Important: alt bei <img> ist immer erforderlich · Strings richtig trennen/verbinden · Kiddie-Code hat keine Chance[/color]

    Kommentar


    • #3
      das sollte immernoch funktionieren: http://www.php-resource.de/forum/sho...threadid=29455
      Kissolino.com

      Kommentar

      Lädt...
      X