页内查找的函数

<form name="search" onSubmit="return findInPage();">
  <input type="text" id="searchstr" name="searchstr"  size="20" value="请输入基金代码或简称" onClick="javascript:if(this.value=='请输入基金代码或简称')this.value='';" />
  <input type="submit" name="Submit" value="页内查找">
  </form>

<script language="javascript" type="text/javascript">
var DOM = (document.getElementById) ? 1 : 0;
var NS4 = (document.layers) ? 1 : 0;
var IE4 = 0;
if (document.all)
{
 IE4 = 1;
 DOM = 0;
}
var win = window;   
var n = 0;
function findInPage() {
 var str = document.getElementById("searchstr").value;
 var txt, i, found;
 if (str == "") {
   alert("不能查找空字符,请输入基金代码或简称");
  return false;
 }
 if (DOM)
 {
  win.find(str, false, true);
  return true;
 }
 if (NS4) {
  if (!win.find(str))
   while(win.find(str, false, true))
    n++;
  else
   n++;
  if (n == 0) {
   alert("未找到指定内容.");
   return true;
   }
 }
 if (IE4) {
  txt = win.document.body.createTextRange();
 
  for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
   txt.moveStart("character", 1);
   txt.moveEnd("textedit");
  }
 if (found) {
  txt.moveStart("character", -1);
  txt.findText(str);
  txt.select();
  txt.scrollIntoView();
  n++;
 }
 else {
  if (n > 0) {
   n = 0;
   findInPage(str);
  }
  else
   alert("未找到指定内容.");
  }
 }
 return false;
}
</script>
posted @ 2007-08-27 19:55    阅读(269)  评论(0编辑  收藏  举报