2010-02-02 6 views
1

많은 버튼이있는 페이지 (ASP.NET 3.5)가 있는데, 그 중 일부는 저장 버튼이고 일부는 저장하지 않습니다. 일반화해야합니다. 즉, ID로 개별 컨트롤을 호출 할 수 없습니다. 내 저장 버튼에 속성 UserSubmitBehavior = true가있을 것입니다. 클릭 이벤트 핸들러에서 내가 눌렀던 버튼의 유형을 구별해야합니다.jQuery 서버 측 버튼

$('input[type=submit]').bind('click', function(e) 
{ 
    //need to know how to set up this condition 
    if (this.type = "submit") 
    { 

      //do something here 
    } 
    else 
    { 
      //do something else 

    } 


}); 

어떻게하면됩니까?

<asp:Button CssClass="SubmitButton" ... /> 

과 :

$('input.SubmitButton').bind(..); 

윌 당신을 위해이 일

답변

3

제대로 이해하면 일반 및 제출의 여러 가지 유형의 버튼이 있습니다. 당신과 같이, 하나의 함수에서 작업을 수행 할 수 있습니다

$('input[type=submit], input[type=button]').bind('click', function(e) 
{ 
    if ($(this).attr('type') == "submit") 
    { 
      //do something here 
    } 
    else 
    { 
      //do something else 
    } 
}); 

또한 생각보다 읽기 쉬운 방식으로 분리 할 수 ​​있습니다 :

$('input[type=button]').bind('click', function(e){ 
    //do button stuff here 
}); 

$('input[type=submit]').bind('click', function(e){ 
    //do submit stuff here 
}); 

는 개인적으로, 나는 두 번째 방법을 선호합니다.

+0

답장을 보내 주셔서 감사합니다. 예, 저는 두 번째가 더 좋기 때문에 곧 다시 시도 할 것입니다. UseSubmitBehavior = false로 설정하면 '제출'이 아닌 '버튼'유형으로 렌더링됩니다. – Victor

0

당신은 CSS 클래스를 사용할 수 있을까?

+0

네,하지만 비 제출 버튼을 페이지의 텍스트 상자와 구별 할 수 없음 – Victor

0

GridView 컨트롤 내에서 레이블 또는 텍스트 상자를 식별해야하는 경우에이 작은 트릭을 수행했습니다. 내가 수행 할 작업은 사용자 지정 특성을 추가하여 페이지에서 해당 특성을 식별 할 수있게하는 것입니다. 예를 들어 :

<asp:Label ID="lblSpecial" runat="server" Text="Whatever" MyCustomeAttr="SpecialLabel"> 
<asp:Label ID="lblSpecial2" runat="server" Text="Whatever" MyCustomeAttr="SpecialLabel2"> 

그것은, 그 사용자 지정 특성에서 얻을 수 JQuery와 사용 .attr() 함수에 의해 또는 선택하여있을에서 매우 간단합니다 : 다음

$("span[id$='_lblSpecial2'][MyCustomeAttr='SpecialLabel2']"); 
+0

XHTML 준수를 위반하지 않습니까? – Spidey