Maffy: BB Code in Textarea einbinden

Beitrag lesen

Ich habe ein Formular wo ich das Script zum einfügen von BB Code von Selfhtml einsetzen möchte.

Ich habe eine Grafik eingebaut mit einem link der dann bei klick ein weiteres Fenster öffnet (medien.php) wo alle Bilder als Link mit Vorschaubild angezeigt werden. Bei klick auf einen Link in der Medienübersicht soll im Formular (frm_reiseedit) im textarea (reisebeschreibung) das Bild als BB Code eingefügt werden.

Leider tut sich da nichts.

In der Medien.php (Medienübersicht) die sich als neues Fenster öffnet habe ich folgenden Link eingebaut.

  
  
$edit ="<a href=\"javascript:void(0)\" onClick=\"insert('{', '".$mediendatei.",2,".$mediendatei."}');\"  
title=\"".$mediendatei."\">".$mediendatei."</a>";  

In der Datei myeditor.php steht das Formular und das Javascript für das einfügen des BB Codes und öffnen des Fenster

[code lang=javascript]

<!--
function insertImage (medien) {
  MeinFenster = window.open(medien, "Medienverwaltung", "width=300,height=450,left=100,top=200");
  MeinFenster.focus();
}
//-->

<!--
function insert(aTag, eTag) {
  var input = document.forms['frm_reiseedit'].elements['reisebeschreibung'];
  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(start, end);
    input.value = input.value.substr(0, start) + 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('[1]{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(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}
//-->
[/CODE]


  1. 0-9 ↩︎