2010-02-02 90 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 

    } 


}); 

我该怎么做?

回答

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 2010-02-02 16:26:41

0

你可以使用一个CSS类:

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

和:

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

将这项工作的吗?

+0

是的,但后来我无法区分页面上的文本框非提交按钮 – Victor 2010-02-02 16:22:14

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 2010-02-02 17:00:58