论坛首页 Web前端技术论坛

textarea中查找与替换功能

浏览 1951 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-03-05  
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() {//查找
init();
var strBeReplaced;
var strReplace;
strBeReplaced = convert.gettext.value;
strReplace = convert.repl.value;

if (intCount > 0 && intCount < intTotalCount){
  intCount = intCount + 1;
}
else{
  intCount = 1 ;
}
convert.primaryChar.focus();
oRange = convert.primaryChar.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 init(){
var oRange ;
var strBeRepalced;
oRange = convert.primaryChar.createTextRange();  //Create a textRange for the Textarea
strBeReplaced = convert.gettext.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 ;
}

var repCount = 0;
function fnReplace() {//替换
init();
var strBeReplaced;
var strReplace;
strBeReplaced = convert.gettext.value;
strReplace = convert.repl.value;
if (repCount > 0 && repCount < intTotalCount){
  repCount = repCount + 1;
}
else{
  repCount = 1 ;
}
convert.primaryChar.focus();
oRange = convert.primaryChar.createTextRange(); //Create a textRange for the Textarea
// Find the text by findtext method
for (i=1; oRange.findText(strBeReplaced)!=false; i++) {
  if(i==repCount){  
   oRange.text = strReplace;
   repCount = repCount - 1;
   intTotalCount = intTotalCount - 1;
   break;
  }
  oRange.collapse(false);  
}
}
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics