2012-10-29 5 views
0

저는 약간 혼란 스럽습니다. 문제는 maxlength가 true이고 사용자가 특정 키를 누르지 않으면 다음 텍스트 상자로 이동하려는 asp.net 텍스트 상자가 있다는 것입니다. 내 asp.net 코드는 다음과 같다 :asp.net에서 .focus로 javascript 매개 변수를 전달하는 방법

<asp:TextBox ID="txbTransferBanknumber" Style="width: 50px;" MaxLength="4" 
Visible="true" runat="server" autocomplete="off" onkeyup="autoTabNextTextBox(this,'txbTransferLedger')" CssClass="AutoTabFill" /> 

내 autoTabNextTextBox 기능은 다음과 같습니다 :

function autoTabNextTextBox(sender, nextTextBox) { 

    var keyCode = (event.which) ? event.which : event.keyCode 
    var mylength = $(sender).val().length; 
    var maxlength = $(sender).attr('maxLength'); 

    if((keyCode != 37) && (keyCode != 39)) 
    { 
     if ((keyCode != 8) && (keyCode != 16)) 
     { 
      if (mylength == maxlength) 
      { 
       $('.nextTextBox').focus(); 
       //nextTextBox.focus();      
      } 
     } 
    } 

} 

가 어떻게 nextTextBox는 .focus 할 수있는 매개 변수를 전달하지()?

+0

'nextTextBox 매개 변수를 .focus()'로 전달한다는 것이 확실하지 않은가요? –

+0

저는 매개 변수 이름이 NextTextBox 인 동안 내 textBox (txbTransferLedger)에 포커스를 두는 방법을 이해하지 못하고 있습니다. – tingason

+0

알겠습니다. 그렇다면 누가 복음의 응답을보십시오. –

답변

1

다음 방금 매개 변수문자열nextTextBox 반대로 선택의 일부 (같은 nextTextBox을 포함해야 당신이 정적의 ClientIdMode가 (HTML 요소 txbTransferLedger되는 출력의 ID를 의미)가 있다고 가정한다 당신은 현재)를 사용하는 :

$('#' + nextTextBox).focus(); 

업데이트 : 당신은 입력 요소의 생성 된 식별자를 완벽하게 제어 할 수없는 때문에 정적의 ClientIdMode을 사용할 수 없습니다 경우 다른 옵션은 클래스 SELEC를 사용하는 것입니다 대신에 토르. 대신 autoTabNextTextBox 기능에

<asp:TextBox ID="txbTransferLedger" CssClass="AutoFill TransferLedger" /> 

그런 다음 (이 예에서는 TransferLedger)이 클래스 원하는 이름을 전달 : 각 입력 요소에 고유 한 클래스 이름 (이 사용중인 기존 클래스에 추가 할 수 있습니다) 예를 들어주세요 ID의 다음과 같이 클래스 선택기를 사용할 수 있습니다.

+0

ClientIDMode를 static으로 설정할 수 없습니다. 그런 다음 다른 옵션은 있습니까? – tingason

+0

대안을 제안하기 위해 답을 업데이트했습니다. –

+0

감사합니다. 지금은 일하고있어 :) – tingason

관련 문제