就像EXCEL操作一下,可以上下左右进行输入框选择的输入,提高操作效率?

解决方案 »

  1.   

    使用我写的方法/*
    键盘上下键移动,在文本控件中移动
    需要在 <body中 加上 onload="initKey()" > 
    cols =? 为多列设定,单列为 1 ,多列时可以使用左右键。。
    2004/08/18 10:47:47
    */
    var cols=1; 
    var CanMove=false; 
    var key; function initKey(){ 
    document.onkeydown=keyDown; 
    document.onkeyup=keyUp; 
    } function keyDown(DnEvents){ 
    var key=window.event.keyCode; // 如果按回车,且当前焦点不是button,submit,a ,image,则当做是Table键跳格
    if(key ==13){
    //alert (event.srcElement.type);
    if (event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='image' && event.srcElement.type!=''){
    event.keyCode =9;
    }
    }else{
    if(key==116){ 
    window.event.keyCode=0; 
    return false; 

    if(key==8){ 
    if(event.srcElement.tagName!="INPUT"){ 
    event.cancelBubble = true; 
    event.returnValue = false; 
    return false; 


    // 是否使用 Ctrl键 Start
    //var IsCtrl=window.event.ctrlKey; 
    //if(!IsCtrl){ 
    //return; 
    //} 
    // 是否使用 Ctrl键 End
    var obj = event.srcElement;
    for(var i=0;i<document.forms[0].elements.length;i++){ 
    if(document.forms[0].elements[i]==obj){ 
    //alert (obj);
    //if (key == 37){//← 
    //if(i>0){ 
    //document.forms[0].elements[i-1].focus(); 
    //} 
    //} 
    if (key == 38){//↑ 
    if(i>cols-1){ document.forms[0].elements[i-cols].focus(); } 

    //if (key == 39){//→ 
    //if(i<document.forms[0].elements.length-1){ document.forms[0].elements[i+1].focus(); } 
    //} 
    if (key == 40){//↓ 
    if(i<document.forms[0].elements.length-cols){ document.forms[0].elements[i+cols].focus(); } 



    }} function keyUp(UpEvents){ 
    return false; 

    /*<script language="javascript" for="document" event="onkeydown"><!--  if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!='image' && event.srcElement.type!='')     event.keyCode=9;--></script>
    */