2012-12-18 5 views
1

하나의 텍스트 상자에 쓸 때 다른 텍스트 상자를 채우는 자바 스크립트가 있습니다. 하지만 세 번째 텍스트 상자에 초점을 유지해야합니다.C# WebForm - 자바 스크립트로 텍스트 상자 포커스 설정

<script type="text/javascript" language="javascript"> 
     function SelectValue(source, eventArgs) { 
      document.getElementById('<%= txtCodeProduct.ClientID %>').value = eventArgs.get_value(); 
      document.getElementById('<%= txtQuantity.ClientID %>').focus(); 
      } 
</script> 

하지만 초점이 작동하지 않습니다 ... 내가 코드에 경고를 넣어 경우, 초점 작업 :

사실, 내 코드는

<script type="text/javascript" language="javascript"> 
     function SelectValue(source, eventArgs) { 
      document.getElementById('<%= txtCodeProduct.ClientID %>').value = eventArgs.get_value(); 
      document.getElementById('<%= txtQuantity.ClientID %>').focus(); 
      alert("test"); 
      } 

어떻게 사용 경고없이 해결합니까? 내 텍스트 상자는 업데이트 패널을 사용하는 양식으로되어 있습니다.

감사합니다.

답변

1

시도 :

function SelectValue(source, eventArgs) { 
    document.getElementById('<%= txtCodeProduct.ClientID %>').value = eventArgs.get_value(); 
    setTimeout(function(){ 
      document.getElementById('<%= txtQuantity.ClientID %>').focus(); 
     }, 0); 
} 
+0

일했다! 아주 좋아요! 감사합니다. – JohnyMoraes

1

당신이 Asp.Net의 어떤 버전을 사용합니까? 그렇지 않으면 당신은 ClientIDMode http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx

<asp:TextBox ID="txtCodeProduct" runat="server" ClientIDMode="static" /> 
<asp:TextBox ID="txtQuantity" runat="server" ClientIDMode="static" /> 

을 사용할 수 있습니다 또한 jQuery를 사용하는 것이 좋습니다 :

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" ></script> 
<script type="text/javascript"> 
    function SelectValue(source, eventArgs) { 
     $("#txtCodeProduct").val(eventArgs.get_value()); 
     $("#txtQuantity").focus(); 
    } 

http://api.jquery.com/focus/

관련 문제