ASP.NET中多按钮回车键触发form的submit的实现方法

一般网站登录、注册填写完信息后,直接回车提交就可以登录或者注册了,没必要一定要单击鼠标确认, 能不能做到实现这样的功能啊?

当然可以,在ASP.NET中,一个form中的第一个加入到form中的按钮就是默认按钮,按回车就可以触发点击事件。

那么如果一个页面多个submit按钮,我怎么知道用户回车是想登录还是注册还是其他呢?,我们可不可以实现这样的功能呢?

答案也是肯定的,下面介绍两种方法(第一种是网上找来的,不太可行)

方案一,利用脚本实现:

$(function() {
            //搜索按钮
            $("#txtSearch").keypress(function(e) {
                var key = window.event ? e.keyCode : e.which;
                if (key.toString() == "13") {
                    $("#btnSearch")[0].click()
                }
            });

            //登录按钮LoginPwd
            $("#loginPwd").keypress(function(e) {
                var key = window.event ? e.keyCode : e.which;
                if (key.toString() == "13") {
                    $("#btnlogin")[0].click()
                }
            });
            //密码忘记
            $("#txtRecPwd").keypress(function(e) {
                var key = window.event ? e.keyCode : e.which;
                if (key.toString() == "13") {
                    $("#btnRecPwd")[0].click()
                }
            });
        });

方案二,用ASP.NET里自带的defaultButton属性:

ASP.NET  2.0中为此提供了很好的解决方法。只需要将"defaultbutton"属性指定到想要引发事件的按钮控件的 ID上就可以了。

在表单级别和面板级别(<asp:panel> 标记)均可以指定"defaultbutton"。当表单和面板中同时指定了defaultbutton,则如果在面板中触发了"Enter key",则执行面板中的

下面的实例代码中有一个表单和4个面板,报单和面板中都有按钮。请各位注意:在文本框中回车后会触发哪些按钮的事件

<form id="form1" runat="server" defaultbutton="btn1">

<div>
<asp:TextBox ID="txt" runat="server"></asp:TextBox>
<asp:Button ID="Button5" runat="server" Text="Cancel" OnClick="Button5_Click" />
<asp:Button ID="btn1" runat="server" Text="Submit" OnClick="btn1_Click" />
<asp:Panel ID="pnl1" runat="server" defaultbutton="Button1">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button1" OnClick="Button1_Click" />
</asp:Panel>
<asp:Panel ID="Panel1" runat="server" defaultbutton="Button2">
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="Button2" OnClick="Button2_Click" />
</asp:Panel>
<asp:Panel ID="Panel2" runat="server" defaultbutton="Button3">
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
<asp:Button ID="Button3" runat="server" Text="Button3" OnClick="Button3_Click" />
</asp:Panel>
<asp:Panel ID="Panel3" runat="server" defaultbutton="Button4">
<asp:TextBox ID="TextBox7" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
<asp:Button ID="Button4" runat="server" Text="Button4" OnClick="Button4_Click" />
</asp:Panel>
</div>
</form>

  


posted @ 2011-09-01 16:54  铁芒阁  阅读(2287)  评论(0编辑  收藏  举报
分享到: