An einer bestimmten stelle im Textfeld einfügen

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

  • An einer bestimmten stelle im Textfeld einfügen

    Ich möchte gerne an einer bestimmten stelle etwas in ein textfeld einfügen.

    Zur Zeit verwende ich folgende befehle um am ende des textfeldes etwas einzufügen:

    document.eintrag.text.value=document.eintrag.text.value+neu;

    Ich möchte aber an die Stelle den Text einfügen, wo der Cursor gerade steht, geht das?

    Danke, David

  • #2
    soviel ich weiss geht es nicht, oder sehr umständlich.

    aber interessieren würde ich mich auch für eine mögliche lösung...
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      hab ich die tage bei selfhtml im forum gefunden, geht ganz gut:
      Code:
      <html>
      <head>
      <script type="text/javascript">
      <!--
      function bbcode(v)
       {
       if (document.selection) // für IE
         {
          var str = document.selection.createRange().text;
          document.form_name.textarea_name.focus();
          var sel = document.selection.createRange();
          sel.text = "[" + v + "]" + str + "[/" + v + "]";
          return;
         }
        else if (document.getElementById && !document.all) // für Mozilla
         {
          var txtarea = document.forms['form_name'].elements['textarea_name'];
          var selLength = txtarea.textLength;
          var selStart = txtarea.selectionStart;
          var selEnd = txtarea.selectionEnd;
          if (selEnd == 1 || selEnd == 2)
          selEnd = selLength;
          var s1 = (txtarea.value).substring(0,selStart);
          var s2 = (txtarea.value).substring(selStart, selEnd)
          var s3 = (txtarea.value).substring(selEnd, selLength);
          txtarea.value = s1 + '[' + v + ']' + s2 + '[/' + v + ']' + s3;
          return;
         }
        else input('[' + v + '][/' + v + '] ');
       }
      
      function input(what)
       {
        if (document.form_name.textarea_name.createTextRange)
         {
          document.form_name.textarea_name.focus();
          document.selection.createRange().duplicate().text = what;
         }
        else if (document.getElementById && !document.all) // Mozilla
         {
          var tarea = document.forms['form_name'].elements['textarea_name'];
          var selEnd = tarea.selectionEnd;
          var txtLen = tarea.value.length;
          var txtbefore = tarea.value.substring(0,selEnd);
          var txtafter =  tarea.value.substring(selEnd, txtLen);
          tarea.value = txtbefore + what + txtafter;
         }
        else
         {
          document.entryform.text.value += what;
         }
       }
      //-->
      </script>
      <title>Textarea-Test</title>
      </head>
      <body>
      <h1>Einfügen von BB-Code und Smilies mit JavaScript</h1>
      <p>Funktionoert mit Netscape/Mozilla und IE. Hier werden die BB-Codes um
      markierten Text eingefügt und die Smilies an der Curserposition. Mit anderen
      Browsern werden die Befehle am Ende eingefügt.</p>
      <form name="form_name" action="" method="">
      BB-Code:
      [ <a href="javascript:bbcode('b');">fett</a> ]&nbsp;
      [ <a href="javascript:bbcode('i');">kursiv</a> ]&nbsp;
      [ <a href="javascript:bbcode('url');">URL</a> ]&nbsp;
      [ <a href="javascript:bbcode('img');">Bild</a> ]&nbsp;&nbsp;
      Smilies:
      [ <a href="javascript:input(':-) ');">smile</a> ]&nbsp;
      [ <a href="javascript:input(';-) ');">wink</a> ]&nbsp;
      [ <a href="javascript:input(':-( ');">frown</a> ]<br>
      <textarea rows="20" cols="80" name="textarea_name"></textarea><br>
      <input type="reset">
      </form>
      </body>
      </html>
      Kissolino.com

      Kommentar

      Lädt...
      X