2011-01-05 103 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的解決方案,但希望瞭解原因可以指向正確的方向。

相關問題