2011-10-20 2 views
1

MM/DD/YYYY 형식의 날짜를 사용할 수있는 asp.net 텍스트 상자가 있습니다. 날짜를 입력 한 후 키를 입력하십시오. 키를 입력하면 서버 측 코드를 실행해야합니다. 어떻게이 작업을 수행 할 수 있습니까?asp.net의 TextBox에서 Enter 키가 눌러져 있는지 확인하는 방법

텍스트 상자의 문제는 포커스가 풀린 경우에만 텍스트 변경 이벤트가 발생한다는 것입니다.

textBox.Attributes.Add("onKeyDown", "KeyDownHandler()"); 

KeyDownHandler() 확인 키를 누르면하고 올바른 경우, 주변 양식을 제출하거나 Ajax 요청을 호출 :

답변

1

당신은 사용자가 Enter 키를 누를 때 자동으로 버튼을 클릭하여 Panel.DefaultButton 속성을 사용할 수 있습니다. 예를 들어

:

<asp:Panel Id="panel1" runat="server" DefaultButton="btnSubmit"> 
    <asp:TextBox Id="txtDate" runat="server" /> 
    <asp:Button Id="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" runat="server" /> 
</asp:Panel> 

버튼을 표시하지 않으려면이 style="display: none"을 설정할 수 있습니다.

+0

이것은 최고의 해결책입니다. 스크립트를 작성할 필요가 없으며 모든 키를 누를 때 다시 게시하지 않습니다. – Erix

1

이를 keyDown 이벤트를 사용합니다. 키보드 코드는 Javascript Char Codes을 참조하십시오. 또한


는 텍스트 상자 ID는 .aspx에서 jQuery를 주입하고 직접를 keyDown 핸들러를 할당 할 수 있습니다 :

$('#<%=textBox.clientID%>').keydown(function (e) { /* Do server request; */ }); 
2

당신은 설정 JQuery와 태그 그래서 u는이

뭔가를 시도 할 수 jQuery를 사용

$("#field").keydown(function(e){ 
    if(e.keyCode === 13) 
    { 
      // enter event 
    } 
}); 
0

이 Javascript 함수를 호출하여 whe ther enter 키를 눌렀습니다.

function checkEnterKeyPress(e) 
{ 
    var key;  
    if(window.event) 
      key = window.event.keyCode; //IE 
    else 
      key = e.which; //firefox  

    if (key == 13){ 
     alert(key); 
    } 
} 
관련 문제