如何用Javascript取得在textarea中被选中的字符
oTextarea.focus();alert(document.selection.createRange().text)

解决方案 »

  1.   

    <textarea name=m onselect="document.execCommand('Copy')"></textarea>
    <input onclick='alert(window.clipboardData.getData("Text"));' value=get type=button>
      

  2.   

    大哥怎么用啊?我是想在被选中的文字的两边用JS添加特定代码,
    如:
    我选中"程序员大本营",点击图片按钮,自动在"程序员大本营"添加代码,
    即 "程序员大本营"原来的代码如下:function AddText(NewCode) {
    document.frmAnnounce.body1.value+=NewCode
    }
    function bold() {
    txt=prompt("文字将被变粗.","文字");     
    if (txt!=null) {           
    AddTxt=""+txt;
    AddText(AddTxt);
    AddTxt="";
    AddText(AddTxt);
                }
    }该代码是要输入文字的,而我只想在鼠标选中后,就添加了,我想把"文字"用变量表示,而变量的值从鼠标选中事件获得,我不知道该怎么写??
      

  3.   

    <textarea name=t1></textarea>
    <input type=button value=ok onclick="cc()">
    <script language=javascript>
    function cc()
    {
      var aa = document.all.t1.value;
      var bb = document.selection.createRange().text;
      document.all.t1.value = aa.replace(bb,"<b>"+bb+"</b>");
    }
    </script>
      

  4.   

    to meizz(梅花雨) :
    如果选的是第二个"程序员大本营"呢?<textarea name=t1 rows=10>
    我选中"程序员大本营",点击图片按钮,自动在"程序员大本营"添加代码,
    即 "程序员大本营"
    </textarea>
    <input type=button value=ok onclick="cc(t1)">
    <script language=javascript>
    function cc(obj){
      obj.focus();
      with(document.selection.createRange())text=""+text+"";
    }
    </script>
      

  5.   

    <html>
    <head>
    <script type="text/javascript" language="javascript"> function
    boldThis(from) { 
    strSelection = document.selection.createRange().text 
    if (strSelection == "") { 
    return false; 

    else document.selection.createRange().text = "<b>" + strSelection 
    + "</b>" 
    return;
    }
    </script>
    </head>
    <body >
    <form name="form1" method="post" action="">
    <textarea name="textarea" cols="50" rows="20"></textarea><br>
    <input type="button" value="Bold" onclick="boldThis()">
    </form>
    </body>
    </html>
      

  6.   

    <html>
    <head>
    <script type="text/javascript" language="javascript"> function
    boldThis(from) { 
    strSelection = document.selection.createRange().text 
    if (strSelection == "") { 
    return false; 

    else document.selection.createRange().text = "" + strSelection 
    + "" 
    return;
    }
    </script>
    </head>
    <body >
    <form name="form1" method="post" action="">
    <textarea name="textarea" cols="50" rows="20">我选中"程序员大本营",点击图片按钮,自动在"程序员大本营"添加代码</textarea><br>
    <input type="button" value="Bold" onclick="boldThis()">
    </form>
    </body>
    </html>
      

  7.   

    多谢各位大哥,不过小弟,还有一个小问题,就是如果我的触发事件是select,根据不同的值添加不同的代码,怎么做啊?? 用onchange吗? 可参数怎么传递和接收啊?????例如:
    <select name="size" onChange="showsize(t1)">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3" selected>3</option>
    <option value="4">4</option>
     
    函数该怎么写呀?麻烦了! 我快要结帖.
      

  8.   

    <html>
    <head>
    <script type="text/javascript" language="javascript"> function
    boldThis(s) { 
    strSelection = document.selection.createRange().text 
    if (strSelection == "") { 
    return false; 

    else document.selection.createRange().text = "<font size='"+s+"'>" + strSelection 
    + "</font>" 
    return;
    }
    </script>
    </head>
    <body >
    <form name="form1" method="post" action="">
    <textarea name="textarea" cols="50" rows="20">我选中"程序员大本营",点击图片按钮,自动在"程序员大本营"添加代码</textarea><br>
    <input type="button" value="Bold" onclick="boldThis(sizea.options[sizea.selectedIndex].value)">
    <select name="sizea">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3" selected>3</option>
    <option value="4">4</option>
    </form>
    </body>
    </html>
      

  9.   

    <select name="size" onChange="cc(t1)">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3" selected>3</option>
    <option value="4">4</option>
     
     <textarea name=t1 rows=10>
    我选中"程序员大本营",点击图片按钮,自动在"程序员大本营"添加代码,
    即 "程序员大本营"
    </textarea>
    <script language=javascript>
    function cc(obj){
      obj.focus();
      with(document.selection.createRange())text="<font size='"+size.value+"'>"+text+"</font>" ;
    }
    </script>
      

  10.   

    多谢各位,刚才那个小问题,我已经解决了,和孟子E章兄的差不多,function showsize(obj,num){
      obj.focus();
      with(document.selection.createRange())text="[size="+num+"]"+text+"[/size]";
    }
    字体大小: 
    <select name="size" onChange="showsize(t1,this.options[this.selectedIndex].value)">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3" selected>3</option>
      <option value="4">4</option>
    </select>