<script type="text/javascript">
function getcursor() {
var obj = document.getElementById("source");
var nStart = 0;//设置初始位置
var nEnd = 0;//设置初始位置
if (obj.selectionStart) {// 非IE浏览器
nStart = obj.selectionStart;
nEnd = obj.selectionEnd;
} else {//IE浏览器
obj.focus(); //输入框获得焦点,这句也不能少,不然后面会出错,血的教训啦
var rngSel = document.selection.createRange(); //创建文档选择对象
var selText = rngSel.text; //当前选择的文本
var rngTxt = obj.createTextRange(); //创建输入框文本对象
rngTxt.collapse(true); //将光标移到头
rngTxt.select(); //显示光标,这个不能少,不然的话,光标没有移到头
var rngSelNew = document.selection.createRange(); //为新的光标位置创建文档选择对象
rngSel.setEndPoint('StartToStart', rngSelNew); //在以前的文档选择对象和新的对象之间创建对象
var str = rngSel.text; //获得对象的文本
var re = new RegExp("[\\r]", "g"); ////过滤掉换行符,不然你的文字会有问题,会比你的文字实际长度要长一些
str = str.replace(re, ""); //过滤
nEnd = str.length; /获得长度.也就是光标的位置
rngSel.collapse(false);
rngSel.select(); //把光标恢复到以前的位置
nStart = nEnd - selText.length;
}
var objTarget = document.getElementById("target");
objTarget.value = obj.value.substr(0, nStart) + "\r\n\r\n" + obj.value.substr(nEnd);
}
</script>
原始字符串:
<textarea id="source" cols="70" rows="10"></textarea>
替换后的字符串:
<textarea id="target" cols="70" rows="10"></textarea>
<input type="button" value="substr" onclick="javascript:getcursor();" />
posted on 2009-09-11 11:31
汪杰 阅读(1027)
评论(1) 编辑 收藏 引用 所属分类:
javascript