一段模拟按键查找文件的JS

发表于:2007-07-14来源:作者:点击数: 标签:
在做项目的时候,由于查找出来的记录很多,用户要求按下一个健后,如果以这个字母或者数字、其他字符开头的进程名称存在的话,就直接选定那个名称,于是我就用JS模拟了一个简单的查找文件的过程。 把文本框放到表格中(通过CSS把文本框隐藏,并且只读),为
在做项目的时候,由于查找出来的记录很多,用户要求按下一个健后,如果以这个字母或者数字、其他字符开头的进程名称存在的话,就直接选定那个名称,于是我就用JS模拟了一个简单的查找文件的过程。
把文本框放到表格中(通过CSS把文本框隐藏,并且只读),为了简单我没有放上CSS,如果需要,请自己写一个,代码如下:(非常得少,而且简单 :))
<html>
<head>
<title>Display Processes Stat</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="style" rel="stylesheet" type="text/css"></head><body leftmargin="0" topmargin="0">
<script language="javascript">
Count=0
OldKey="";
IfExists=false;
function document.onkeypress(){
if(document.all.ProcessTimes.value>0){
  if((Count==document.all.ProcessName.length) || (OldKey!=String.fromCharCode(event.keyCode))){
     Count=0;
  }      
    NewKey=String.fromCharCode(event.keyCode);
    OldKey=String.fromCharCode(event.keyCode);    
    Search=false;    
  for(j=Count;j<document.all.ProcessName.length;j++){  
       Str=document.all.ProcessName[j].value;       
       Tmp=Str.substr(0,1);           
       if(Tmp==NewKey ){
        document.all.ProcessName[j].focus();
        document.all.ProcessName[j].select();
        Count=j+1;    
        Search=true;
        IfExists=true;
        break;
        }        
        Count++;        
        }            
    if( Search==false && IfExists==true){
      IfExists=false;
      Count=0;
      document.onkeypress();
      }
  }
}
</script>



<table width="100%" border="1" cellpadding="2" cellspacing="0" bordercolor="#000000" bgcolor="#FFFFFF" class="txt105"style="border-collapse: collapse" >
  <tr>
    <td align="right" nowrap width="11%">
      <input name="textfield416" type="text" id=ProcessName class="input4" value="ssdfk;d" size="19" readonly>
    </td>
    <td align="right" nowrap width="5%">
      <input name="textfield42" type="text" id=ProcessName class="input4" value="k;lk;kl;" size="8" readonly>
    </td>
    <td align="right" nowrap width="5%">
      <input name="textfield43"  type="text" id=ProcessName class="input4left" value="kkkk" size="8" readonly>
    </td>
    <td align="right" nowrap width="5%">
      <input name="textfield44" type="text" id=ProcessName class="input4left" value="sd" size="8" readonly>
    </td>
    <td align="right" nowrap width="6%">
      <input name="textfield45" type="text" id=ProcessName class="input4" value="jkl;" size="10" readonly>
    </td>
    <td align="right" nowrap width="6%">
      <input name="textfield46" type="text" id=ProcessName class="input4" value="poiuyy" size="10" readonly>
    </td>
    <td align="right" nowrap width="5%">
      <input name="textfield47" type="text" id=ProcessName class="input4" value="kuoiuouhgkh" size="8" readonly>
    </td>
    <td align="right" nowrap width="7%">
      <input name="textfield48" type="text" id=ProcessName class="input4" value="qwetyuyi" size="12" readonly>
    </td>
    <td align="right" nowrap width="5%">
      <input name="textfield49" type="text" id=ProcessName class="input4left" value="iuytre" size="8" readonly>
    </td>
  </tr>
  <tr>
    <td align="right" nowrap width="11%">
      <input name="textfield4" type="text" id=ProcessName class="input4" value="serty" size="19" readonly>
    </td>
    <td align="right" nowrap width="5%">
      <input name="textfield42" type="text" id=ProcessName class="input4" value="mnhgbv" size="8" readonly>
    </td>
    <td align="right" nowrap width="5%">
      <input name="textfield43" id=ProcessName type="text" id=ProcessName class="input4left" value="sdfghk" size="8" readonly>
    </td>
    <td align="right" nowrap width="5%">
      <input name="textfield44" type="text" id=ProcessName class="input4left" value="pmbnvfj" size="8" readonly>
    </td>
    <td align="right" nowrap width="6%">
      <input name="textfield45" type="text" id=ProcessName class="input4" value="yutree" size="10" readonly>
    </td>
    <td align="right" nowrap width="6%">
      <input name="textfield46" type="text" id=ProcessName class="input4" value="mjkl;h" size="10" readonly>
    </td>
    <td align="right" nowrap width="5%">
      <input name="textfield47" type="text" id=ProcessName class="input4" value="fdsa" size="8" readonly>
    </td>
    <td align="right" nowrap width="7%">
      <input name="textfield48" type="text" id=ProcessName class="input4" value="lkjhgf" size="12" readonly>
    </td>
    <td align="right" nowrap width="5%">
      <input name="textfield49" type="text" id=ProcessName class="input4left" value="fdsa" size="8" readonly>
    </td>
  </tr>
  <input type=hidden  name=ProcessTimes value="2">
</table>
</body>
</html>

原文转自:http://www.ltesting.net