是这样的:环境:webForm Ajax
一个文本框,一个扫描枪,通过扫描枪,识别条码,将条码录入后清空文本框,清空后文本框保持焦点。现在的问题就是:在扫描枪识别后不能保持焦点,必须手工点一下才在文本框中出现光标。用了Focus(),及相关js来做判断似乎效果都没实现,同时启用了Ajax中的UPdatePanel
后来想个笨办法,再加了一个文本框让其焦点轮转,结果也没实现.
关键就是在于:如何让文本框的焦点一直保持,即时在扫完条码后,文本框清空,光标仍保留在其上可以继续录入操作。
请教大家提供解决办法,先谢之。

解决方案 »

  1.   

    这个是不行的. Textbox的.tabIndex默认即为0的
      

  2.   

    扫描枪模拟的是按回车键的动作,ASP没做过,试找找看这个页面的按键事件中处理一下。
      

  3.   

    焦点是不是跳到IE窗口外面去了?如果跳出去了就难办了差不多就这样。
    补充一下:这个文本框是在一个用户控件(ascx)中里,而使用这个用户控件的页面又是用了母版面Masterpage.
      

  4.   

    我贴代码算了……<!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="Keywords" content="简单的XHTML页面" />
    <meta name="Description" content="这是一个简单的XHTML页面" />
    <title>简单的XHTML页面</title>
    <script language="javascript">
    <!--
    function test(){
    document.getElementById("tt").value="";
    document.getElementById("tt").select();
    }
    function test1(){
    setInterval("test()",1000);
    }
    //-->
    </script>
    </head>
    <body onload="test1();">
    <input type="text" id="tt" value="dfdsfdsfsdfdsds" />
    <input type="text" id="4" value="dfdsfdsfsdfdsds" /><input type="text" id="1441" value="dfdsfdsfsdfdsds" /></body>
    </html>
      

  5.   

    楼上的我之前试过,在一个页面上确实可以实现,但是与masterpage,usercontrol,及服务器控件一起结合整,是搞不掂的。
    http://www.daniweb.com/forums/thread8921.html 我跟这个的问题差不多,不过好像没有keypress这个事件,再说在webForm中搞keypress是不太现实的