Thomas Kellner: markierung ersetzen lassen im textarea.

Beitrag lesen

Ich hab das ganze Script noch einmal überarbeitet: Das ist das Ergebnis:
<code>
function tag_insert(tag,assistent)
 {
 if(assistent=="no" && document.selection)
  {
  text_selection="["+tag+"]"+document.selection.createRange().text+"[/"+tag+"]";
  window.document.posting.elements["Message"].value+=text_selection;
  }
 else if(assistent=="no" && document.getSelection)
  {
  text_selection="["+tag+"]"+document.getSelection()+"[/"+tag+"]";
  window.document.posting.elements["Message"].value+=text_selection;
  }
 else if(assistent=="no" && window.getSelection)
  {
  text_selection="["+tag+"]"+window.getSelection().toString()+"[/"+tag+"]";
  window.document.posting.elements["Message"].value+=text_selection;
  }
 else if(assistent=="yes" && tag=="b")
  {
  text=prompt("Bitte um Eingabe des Textes, der fett dargestellt werden soll.","")
  if(text!="" && text!=null)
  window.document.posting.elements["Message"].value+="[b]"+text+"[/b]";
  }
 else if(assistent=="no")
  {
  window.document.posting.elements["Message"].value+="["+tag+"][/"+tag+"]";
  tag_last=tag;
  }
 else
  {
  window.document.posting.elements["Message"].value+="";
  }
 window.document.posting.elements["Message"].focus();
 }
</code> Im IE läuft bisher alles Gut, bis das wenn ich einen Textabschnitt im Textarea markiere beispielsweise 'ff', wird aber zu 'ff[b]ff[/b]', wo liegt aber da der Fehler. Das Problem wenn ich text außer halb des textareas markiere und auf deem Link javascript:tag_insert('b',no') klicke wird der Text normal eingegeben: '[b]....[/b]'. Im Mozilla bzw. Netscape besteht der Fall, dass wenn ich Text außerhalb des Textareas markiere dieser ordnungsgemäß eingefügt wird: '[b].....[/b]', jedoch bei Markierung innerhalb des Textareas, wird nur hinter markierten Teil '[b][/b]' ausgegeben, wo liegt also da der Fehler.