2011-01-05 4 views
0

두 개의 텍스트 상자와 하나의 단추 컨트롤 ..... 첫 번째 TextBox에서 Enter 키를 누르면 다음 텍스트 상자 (바코드)로 이동하고 바코드 입력란에서 Enter 키를 누르면 그것은 버튼 클릭 이벤트를 일으킨다 ...... 그 ok까지.By 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

모든 텍스트 상자에 대해 keydown을 처리하고 있습니다.

첫 번째 입력란의 경우에만 keydown을 처리하도록 선택 도구를 수정해야합니다. 첫 번째 텍스트 입력에 포커스를 설정

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

: 버튼 클릭이 서버에 포스트 백을 유발하고 페이지, 다시로드

+0

하지만 어떻게 코드를 여기에 쓸 수 있습니까 –

+0

나는 당신이 무엇을 요구하고 있는지 전혀 모른다. – SLaks

+0

JavaScript의 2 행에있는 첫 번째 텍스트 입력에서만 포커스 이벤트를 발생시키는 것과 같은 방법으로 생각합니다. – adamjford

0

이 라인을 포함하여 게시 자바 스크립트를 다시 실행합니다.

HTML 없이는 솔루션을 많이 제공 할 수 없지만 원인을 이해하면 올바른 방향으로 안내 할 수 있기를 바랍니다.

관련 문제