js怎么替换textarea中选定的内容? 20
我想实现的功能:选择某几个字后点击按钮,就只替换被选择那几个字!可是现在的效果是替换了开头的字,而不是我选择的那几个!怎么解决?<scriptlanguage="java...
我想实现的功能:选择某几个字后点击按钮,就只替换被选择那几个字!
可是现在的效果是替换了开头的字,而不是我选择的那几个!
怎么解决?
<script language="javascript">
function getSelectStr()
{
var selecter= document.selection.createRange();
var s=selecter.text;
if(s!=null&&s.replace(/(^\s*)|(\s*$)/g, '')!=''){
selectStr=s;
document.getElementById('a').value=document.getElementById('a').value.replace(selectStr,"好");
}
}
</script>
<button onclick="javascript:getSelectStr()">替换</button><br>
<textarea id="a" name="content" rows="3" cols="30">不不不不不不不不不不</textarea>
我是js新手,请大家把完整代码发上来,谢谢! 展开
可是现在的效果是替换了开头的字,而不是我选择的那几个!
怎么解决?
<script language="javascript">
function getSelectStr()
{
var selecter= document.selection.createRange();
var s=selecter.text;
if(s!=null&&s.replace(/(^\s*)|(\s*$)/g, '')!=''){
selectStr=s;
document.getElementById('a').value=document.getElementById('a').value.replace(selectStr,"好");
}
}
</script>
<button onclick="javascript:getSelectStr()">替换</button><br>
<textarea id="a" name="content" rows="3" cols="30">不不不不不不不不不不</textarea>
我是js新手,请大家把完整代码发上来,谢谢! 展开
2个回答
展开全部
你这个问题确实比较复杂,通过document.selection.createRange().text只能获取当前选中的内容,如果在textarea内有重复的文本,正好又是选中的,就没有办法了,就像你举的这个例子。
我在网上找了一下,好像有一个人研究过这个问题,主要是通过捕捉onseleced事件来为选中的文本做一个在总文本中索引,能够解决你的这个问题,你可以去看一下,不过比较复杂。我暂时也没有想更好的方案来,关注一下。
获取TextArea中已选中文本在整个文本串中的索引
文章出处:http://www.diybl.com/course/4_webprogram/php/phpxl/2008916/143140.html
补充:
大哥,你自己去看一下嘛,好长的,不是一两句代码就能搞定的。
我在网上找了一下,好像有一个人研究过这个问题,主要是通过捕捉onseleced事件来为选中的文本做一个在总文本中索引,能够解决你的这个问题,你可以去看一下,不过比较复杂。我暂时也没有想更好的方案来,关注一下。
获取TextArea中已选中文本在整个文本串中的索引
文章出处:http://www.diybl.com/course/4_webprogram/php/phpxl/2008916/143140.html
补充:
大哥,你自己去看一下嘛,好长的,不是一两句代码就能搞定的。
参考资料: http://www.diybl.com/course/4_webprogram/php/phpxl/2008916/143140.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |