'input'에 해당되는 글 1건

  1. 2011.08.17 ASP.NET 텍스트박스 엔터키 이벤트(수정)

ASP.NET 텍스트박스 엔터키 이벤트(수정)

게시판에서 검색 텍스트박스에 단어를 쓰고 엔터를 딱!!!! 쳤는데 로그아웃됨
....
......
..............ㅋ

조회 버튼 옆에 있는 텍스트박스인데 왜 조회 버튼을 자동으로 눌러주지 않냐며
....다시 로그인을 하는..하.....

이런 상황이 없도록 개발해야겠죠.
텍스트박스에 엔터키를 눌렀을 때 조회 버튼의 이벤트를 참조하도록 하는 겁니다.

protected void Page_Load(object sender, EventArgs e)
{
    this.txtSearch.Attributes["onkeyPress"] = "if(event.keyCode == 13) {" +
        Page.GetPostBackEventReference(this.btnSubmit) + "; return false;}";
}

 

 

2013년 02월 27일 수정

그러니까 원인은, 왜 그런 현상이 일어나느냐 하는건데
form 태그 안에 있는 가장 첫번째 submit 의 이벤트를 타게 된다는 겁니다.
저는 로그아웃 버튼이 가장 위에 있었기 땜에... 엔터를 치면 로그아웃으로ㅋㅋㅋㅋㅋㅋㅋㅋ..

그래서 form 태그 바로 아래에 return false 이벤트를 갖는 submit 버튼을 숨겨놓고
Page_Load 함수에서 해당 form의 DefaultButton을 숨겨놓은 첫번째 submit 버튼의 ID로 지정해주면 되죠.


Site.Master
<form id="frm" runat="server" clientidmode="Static">
    <asp:Button ID="btnFalse" runat="server" ClientIDMode="Static"  
        OnClientClick="javascript:return false;" CssClass="hidden" />

...생략


Site.Master.cs
protected void Page_Load(object sender, EventArgs e)
{
    this.frm.DefaultButton = this.btnFalse.ID;

...생략
prev 1 next