2011-01-05 70 views
0

我有两个文本框和一个按钮控制.....在第一个文本框时,按Enter键移动到下一个文本框(条码),当我按下输入条码文本框它触发按钮点击事件......直到它确定....通过按Enter键移动到下一个文本框在ASP.Net

但发生什么事发生后,点击即使在输入条码文本框中的按钮,它将回到专注于第一个文本框.... .....但我想这留在相同的条码文本框扫描更多的条码。

代码如下。

<script type="text/javascript" 
     src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"> 
    </script> 

<Head> 
<script type="text/javascript"> 
     $(function() { 
      $('input:text:first').focus(); 
      var $inp = $('input:text'); 
      $inp.bind('keydown', function(e) { 
       //var key = (e.keyCode ? e.keyCode : e.charCode); 
       var key = e.which; 
       if (key == 13) { 
        e.preventDefault(); 
        var nxtIdx = $inp.index(this) + 1; 
        $(":input:text:eq(" + nxtIdx + ")").focus(); 
       }     
      }); 
     }); 
    </script> 

</Head> 

回答

2

您正在处理每个文本框的​​。

您需要修改您的选择器,以便仅为第一个文本框处理​​。

+0

但是,如何在这里写代码 – 2011-01-05 17:59:35

+0

我不知道你在问什么。 – SLaks 2011-01-05 18:03:05

+0

就像你只在JavaScript第2行的第一个文本输入上激发焦点事件一样,我会想象的。 – adamjford 2011-01-05 18:03:09

0

按一下按钮导致回发到服务器,并重新加载页面,重新执行您发布包括该行的JavaScript:

$('input:text:first').focus(); 

其焦点设置在第一个文本输入。

我不能提供很多没有HTML的解决方案,但希望了解原因可以指向正确的方向。

相关问题