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

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

<!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" >
</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);  //
}

//==============================================
//function : fnSearch()
//comment  : set the flag to the next textrange
//param    : none
//return  : none
//author  : Fantiny
//Date    : 10/21/2005
//==============================================
function fnNext(){ 
if (intCount > 0 &;amp;&;amp; intCount < intTotalCount){
  intCount = intCount  1;
}
else{
  intCount = 1 ;
}

//==============================================
//function : init()
//comment  : initialize at page onload to get the count
//param    : none
//return  : none
//author  : Fantiny
//Date    : 10/21/2005
//==============================================
function init(){ 
var oRange ;
var strBeRepalced; 
oRange = fm1.txtarea1.createTextRange();  //Create a textRange for the Textarea
strBeReplaced = fm1.txtarea2.value;     
for (i=0; oRange.findText(strBeReplaced)!=false; i  ) {
    oRange.collapse(false);  // Moves the insertion point to the end of the text range.

intTotalCount = i ; 

//==============================================
//function : fnReplace()
//comment  : replace the text of the selected textrange
//param    : none
//return  : none
www.knowsky.com

//author  : Fantiny
//Date    : 10/21/2005
//==============================================
function fnReplace(){ 
var strReplace;

strReplace = fm1.txtarea3.value; 
// if the textrange is exist, replace the text
if(oRange!= null &;amp;&;amp; typeof(oRange)=="object" &;amp;&;amp; intTotalCount > 0){
  oRange.text = strReplace;
  intCount = intCount - 1;
  intTotalCount = intTotalCount - 1;
  oRange = null;
}
}
//-->
</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" >
<input type="button" value="Replace" >
</FORM> 
</BODY>
</HTML>

友情提示:此文并不表示本站肯定持有相同观点,转载请注明出处。
 您可能对 [javascript] 的这些文章也感兴趣:

Javascript脚本实现静态网页加密  关于ie的内存泄漏与javascript内存释放
改变样式表的js语句  Javascript面向对象编程
JavaScript 的保留关键字  JavaScript常用检测脚本
使用Javascript创建快捷方式  用javascript实现(页面正在加载的效果)
javascript弹出窗口问题总结  javascript中如何实现浏览器上的右键菜单
用javascript操纵GridView中CheckBox的两个常用技巧  js简介及特点
JS中的eval和document.getElementById  Javascript实现的自动验证函数
JS实现图片的等比缩放  Script# 入门
JAVASCRIPT加密解密终级指南  FireFox 如何用Javascript 修改状态栏
隐藏Javascript脚本  JScript中正则表达式用法详解(附例子:JScript做语法加亮显示)