日期:2014-05-17  浏览次数:20948 次

获取textarea选中内容
想实现一个论坛回复的样式
就是对textarea文本框中选中的内容进行替换比如[b]example[/b]
对于获取选中内容我知道用document.selection.createRange().text可以实现
但是要是直接替换的话就把相同的内容全部替换了,我要实现的是只替换选中部分的内容
大家有什么方法?

------解决方案--------------------
JScript code
document.selection.createRange().text = "[b]" +document.selection.createRange().text + "[/b]";

------解决方案--------------------
document.selection.createRange().text="你要替换的内容"
------解决方案--------------------
先用clear()清除,然后duplicate()获取位置,直接设置text属性。
------解决方案--------------------
那是跟录入数据的时候进行判断吧~~~选择的字体颜色
比如红色..录入的时候 <font color="#FF0000">加入这写就行哦</font>
 是这个意思?
------解决方案--------------------
JScript code
function AddOnPos(obj, charvalue)
{
    //obj代表要插入字符的输入框
    //value代表要插入的字符
    
    obj.focus();
    var r = document.selection.createRange();
    var ctr = obj.createTextRange();
    var i;
    var s = obj.value;
    
    //注释掉的这种方法只能用在单行的输入框input内
    //对多行输入框textarea无效
    //r.setEndPoint("StartToStart", ctr);
    //i = r.text.length;
    //取到光标位置----Start----
    var ivalue = "&^asdjfls2FFFF325%$^&"; 
    r.text = ivalue;
    i = obj.value.indexOf(ivalue);
    r.moveStart("character", -ivalue.length);
    r.text = "";
    //取到光标位置----End----
    //插入字符
    obj.value = s.substr(0,i) + charvalue + s.substr(i,s.length);
    ctr.collapse(true);
    ctr.moveStart("character", i + charvalue.length);
    ctr.select();
}

------解决方案--------------------
选中的变换字体颜色???
你是说编辑回复文字???