比如textarea里有一字符串abcd1234efg,选中1234后,按某个按钮可以alert这个选中的字符串。
还有怎么用指定的字符串替换掉选中的字符串

解决方案 »

  1.   

    obj.selectionStart
    obj.selectionEnd
    这个是活的input标签的选中开始位置和结束位置,你可以在textarea下试试看
      

  2.   

    <script type="text/javascript">
        function getText(v) {
            var ta = document.getElementById('ta');
            if (document.selection)//IE
            {
                alert(document.selection.createRange().text);
                if (v) document.selection.createRange().text = v;
            }
            else if (ta.selectionStart) {
                alert(ta.value.substring(ta.selectionStart, ta.selectionEnd));
                if (v) ta.value = ta.value.substring(0, ta.selectionStart) + v + ta.value.substring(ta.selectionEnd);
            }
        }
    </script>
    <input type="button" value="获取内容" onclick="getText()"/>
    <input type="button" value="替换选择内容为123" onclick="getText('123')"/>
    <textarea id="ta" rows="5" cols="30"></textarea>
      

  3.   

    就是这样,不过else if (ta.selectionStart)应该是else if (ta.selectionStart!=null)吧,否则从第一个字符选起就获取不到了