在web页面的datagrid中进行数据录入,模板列 textbox 如何用方向键实现对输入焦点的控制?格式大致如下:ID(checkbox) 姓名  日期 工资1 工资2 工资3 工资4..... (工资1 2 3 4 是模板列textbox输入) 在线等急用!第一次发帖!谢谢大家!

解决方案 »

  1.   

    datagrid是服务器端的叫法~~~html里面根本没什么datagrid~~
    就是个table嘛~~以下仅供参考~~
    <table>
    <tr>
        <td><input id="txt_1" type="text" onkeydown="if(event.keyCode==37){document.all.txt_3.focus();}else if(event.keyCode==39){document.all.txt_2.focus();}" /></td>    <td><input id="txt_2" type="text" onkeydown="if(event.keyCode==37){document.all.txt_1.focus();}else if(event.keyCode==39){document.all.txt_3.focus();}" /></td>    <td><input id="txt_3" type="text" onkeydown="if(event.keyCode==37){document.all.txt_2.focus();}else if(event.keyCode==39){document.all.txt_1.focus();}" /></td>
    </tr>
    </table>
      

  2.   

    谢谢楼上的 因为有30多个input  所以想用javascript脚本实现 哪个老大能帮忙?!
      

  3.   

    另外 是用的模板列 textbox 不是text 没有onkeydown
      

  4.   

    我都说仅供参考了 ~~~
    你连html都不学,就搞asp.net了~~~
    textbox也是服务器端的叫法~~你要求的是客户端的功能,你应该好好去学html和javascript~~
      

  5.   


    呵呵 就是不懂 才来请教  对html javascript 真的不懂 楼上的能否直接给个代码B/S结构下在浏览器端录入数据 想用方向键来控制录入焦点 懂的直接给个实现代码可以吗?真的很急!谢谢啊!!录入是在服务器端用datagrid 模板列中放入 textbox 没有onkeydown 没有onfocus事件。
      

  6.   

    源代码: http://download.csdn.net/source/276201 
    Demo页面:JKHtml/SomeCodeForTable/RowAddAndDelete.htm
    用法:在table tag里加上 onkeydown="keyDownAndUpControl(event);"
    说明:1。左右键,在input/textarea里本身已有用处,不宜覆盖其原本用途。
          2。上下键,在select/textarea里本身已有用处,不宜覆盖其原本用途。
    主要代码:
    function keyDownAndUpControl(event) // 用于控制明细里的上下键。只控制input
    {
    var obj=event.srcElement||event.target;
    var k=event.keyCode;
    if (obj.tagName!="INPUT"||obj.name=="") return true;
    if( k != 38 && k != 40 ) return true;
    var theSamenameInputs=document.getElementsByName(obj.name);
    var i=0;
    for (i=0;i<theSamenameInputs.length;i++)
    {
    if (theSamenameInputs[i]==obj) break;
    }
    if((i>0)&&(k==38))
    {
    theSamenameInputs[i-1].select();//There will be error in FireFox1.5
    theSamenameInputs[i-1].focus();
    event.returnValue=false;
    return false;
    }
    if((i<theSamenameInputs.length-2)&&(k==40))
    {
    theSamenameInputs[i+1].select();//There will be error in FireFox1.5
    theSamenameInputs[i+1].focus();
    event.returnValue=false;
    return false;
    }
    }