当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 实现textarea内字符串选择查询替换功能

Javascript
XmlUtils JS操作XML工具类
jQuery animate效果演示
Jquery 设置标题的自动翻转
JQuery与Ajax常用代码实现对比
学习JS面向对象成果 借国庆发布个最新作品与大家交流
CSS 布局一个漂亮的滑块
兼容多浏览器的JS 浮动广告[推荐]
学习ExtJS(一) 之基础前提
学习ExtJS Column布局
jquery 最简单的属性菜单
有效的捕获JavaScript焦点的方法小结
js css样式操作代码(批量操作)
JS模拟的QQ面板上的多级可展开的菜单
jquery 框架使用教程 AJAX篇
css 有弹动效果的网页导航
jQuery语法总结和注意事项
用AJAX技术做Google Suggest效果
Javascript文档对象模型(DOM)实例分析
Javascript制作拖动网页布局的方法
Javascript解决IE6和FF的PNG图片兼容性问题

Javascript 中的 实现textarea内字符串选择查询替换功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 74 ::
收藏到网摘: n/a

 

----------自动替换版----------


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
var staus ;
var oRange;
var objTimer;
var objTimer1;
var objTimer2;
var sBookMark;
<!--
function selectall(objAll,OBJSingle){
alert(objAll.checked);
for (var i=0;i<OBJSingle.length;i++){
if (objAll.checked){
for( objs in OBJSingle){
alert(objs.value);
objs.checked=true;
}
}
else{
OBJSingle.checked=false;
}
}
}

function fnSearch() {
fm1.txtarea1.focus();
oRange = fm1.txtarea1.createTextRange();
searchtxt(1);
}

function searchtxt(n){
var v1;
var v2;
var txtr;
var blnS;

window.clearInterval(objTimer1);
window.clearInterval(objTimer2);

v1 = fm1.txtarea1.value;
v2 = fm1.txtarea2.value;
v3 = fm1.txtarea3.value;

if( n == 1) {
if (oRange != null) {
oRange.findText(v2);
if  (oRange.findText(v2) == true){
//sBookMark = oRange.getBookmark();
oRange.select();
oRange.scrollIntoView();
objTimer2 = window.setInterval("searchtxt(2)",1000);
}
else{
objTimer = window.setInterval("searchtxt(3)",1000);
}
}
staus = 2 ;
}
else if(n==2)  {
oRange.text = v3;
staus = 1;
objTimer1 = window.setInterval("searchtxt(1)",1000);
}
else if(n==3) {
staus = 3 ;
window.clearInterval(objTimer);
window.clearInterval(objTimer1);
window.clearInterval(objTimer2);
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM METHOD=POST name="fm1">
<TEXTAREA NAME="txtarea1" ROWS="20" COLS="50">
this is the original text, and this is the string will be repalced.
this is the original text, and this is the string will be repalced.
this is the original text, and this is the string will be repalced.
this is the original text, and this is the string will be repalced.
this is the original text, and this is the string will be repalced.
this is the original text, and this is the string will be repalced.
</TEXTAREA>
<TEXTAREA NAME="txtarea2" ROWS="20" COLS="50"> will be </TEXTAREA>
<TEXTAREA NAME="txtarea3" ROWS="20" COLS="50"> has been </TEXTAREA>
<input type="button" value="search" onclick="fnSearch()">
</FORM>

</BODY>
</HTML>

--------------------------------手动改进版----------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
var oRange;     // save the current textrange 
var intCount = 0;   // this pos of current textrange in the total count
var intTotalCount = 0;  // total count
<!--
//==============================================
//function : fnSearch()
//comment  : Search the text
//param    : none
//return   : none
//author   : Fantiny
//Date     : 10/21/2005
//==============================================
function fnSearch() {

 var strBeReplaced;
 var strReplace;

 strBeReplaced = fm1.txtarea2.value;
 strReplace = fm1.txtarea3.value;

 fnNext();

 fm1.txtarea1.focus();
 oRange = fm1.txtarea1.createTextRange(); //Create a textRange for the Textarea

 
 // Find the text by findtext method
 for (i=1; oRange.findText(strBeReplaced)!=false; i++) {
  if(i==intCount){  
   oRange.select();   // select the finded text
   oRange.scrollIntoView(); // scroll the page and set the text Into View
   break;
  }
  oRange.collapse(false);   //
 }
}

//========================================