Text einfügen im textarea

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

  • Text einfügen im textarea

    Hallo,

    ich habe auf meiner Seite ein Gästebuch, wo ich das Formatieren
    des Textes ähnlich wie hier im Forum zulasse.

    z.B. so

    PHP-Code:
    <input type="button" value=" B " style="font-weight:bold; width: 30px;" onClick="insert('[ b ]', '[ /b ]')">&nbsp;
    <
    textarea style="width: 98%" name="inhalt" class="post" rows="10"></textarea
    durch das onClick wird dann dieses javascrip ausgeführt.
    PHP-Code:
    <script type="text/javascript">
    <!--
    function 
    insert(aTageTag) {
      var 
    input document.forms['formular'].elements['inhalt'];
      
    input.focus();
      
    /* für Internet Explorer */
      
    if(typeof document.selection != 'undefined') {
        
    /* Einfügen des Formatierungscodes */
        
    var range document.selection.createRange();
        var 
    insText range.text;
        
    range.text aTag insText eTag;
        
    /* Anpassen der Cursorposition */
        
    range document.selection.createRange();
        if (
    insText.length == 0) {
          
    range.move('character', -eTag.length);
        } else {
          
    range.moveStart('character'aTag.length insText.length eTag.length);      
        }
        
    range.select();
      }
      
    /* für neuere auf Gecko basierende Browser */
      
    else if(typeof input.selectionStart != 'undefined')
      {
        
    /* Einfügen des Formatierungscodes */
        
    var start input.selectionStart;
        var 
    end input.selectionEnd;
        var 
    insText input.value.substring(startend);
        
    input.value input.value.substr(0start) + aTag insText eTag input.value.substr(end);
        
    /* Anpassen der Cursorposition */
        
    var pos;
        if (
    insText.length == 0) {
          
    pos start aTag.length;
        } else {
          
    pos start aTag.length insText.length eTag.length;
        }
        
    input.selectionStart pos;
        
    input.selectionEnd pos;
      }
      
    /* für die übrigen Browser */
      
    else
      {
        
    /* Abfrage der Einfügeposition */
        
    var pos;
        var 
    re = new RegExp('^[0-9]{0,3}$');
        while(!
    re.test(pos)) {
          
    pos prompt("Einfügen an Position (0.." input.value.length "):""0");
        }
        if(
    pos input.value.length) {
          
    pos input.value.length;
        }
        
    /* Einfügen des Formatierungscodes */
        
    var insText prompt("Bitte geben Sie den zu formatierenden Text ein:");
        
    input.value input.value.substr(0pos) + aTag insText eTag input.value.substr(pos);
      }
    }
    //-->
    </script
    Jetzt würde ich gerne im Formular (Adminbereich) ein zweites
    Textarea für Kommentare habe und den Text ebenso Formatieren
    können.
    Das Zweite Textarea muss ja ein neuen Namen bekommen,
    dann kann ich aber das javascrip nicht mehr nutzen.
    Muss ich jetzt das Script doppelt einbauen oder kann ich es
    irgendwie erweitern? mit javascrip habe ich mich bis jetzt noch nicht
    so auseinander gesetzt.

    Gruß Ingo
    Zuletzt geändert von Scotch; 21.08.2007, 22:35.

  • #2
    So,
    habe es doch noch selbst hin bekommen.

    Ich habe das onClick erweitert.

    z.b.



    PHP-Code:
    <input type="button" value=" B " style="font-weight:bold; width: 30px;" onClick="insert('[ b ]', '[ /b ]','inhalt')">&nbsp
    wobei 'inhalt' der Name vom zu Formatierenden Texarea ist.

    im Script habe ich dann diese Änderungen vorgenommen.
    PHP-Code:
    function insert(aTageTageEle) {
      var 
    input document.forms['formular'].elements[eEle]; 
    Keine Ahnung ob das so optimal ist, aber es funktioniert.
    Gruß Ingo

    Kommentar

    Lädt...
    X