【问题标题】:WebForms submitting specific form with enter key (not clicking)WebForms 使用回车键提交特定表单(不点击)
【发布时间】:2011-06-13 20:06:27
【问题描述】:

假设我有一个整页表单,但在表单中,有两个或多个事件需要在提交时发生:Login & Register

Site.Master:

<%@ Master Language="C#" AutoEventWireup="true" 
    EnableViewState="true" CodeBehind="Site.Master.cs" 
    Inherits="Site.SiteMasterPage" %>

<!doctype>
<html>
<head runat="server">
    <%-- stuff --%>    
</head>
<body>
<form ID="MainForm" action="" runat="server">

    <asp:Login id="LoginControl" runat="server" />    
    <asp:CreateUserWizard id="RegisterControl" runat="server" />

</form>
</body>
</html>

如果我的光标聚焦在 asp:Logininput type="text" 内,并且我点击 Return(关闭 javascript),则页面提交,但我没有登录。

当我尝试注册时也会发生同样的事情(填写 createUserWizard 并点击 Return 键而不是实际单击“注册”,触发一些事件)

是否有任何非 JavaScript 解决方案可以让 Return 键提交正确的、当前关注的表单部分?

【问题讨论】:

    标签: c# asp.net webforms multiple-forms


    【解决方案1】:

    面板控件允许您在其内容范围内定义默认按钮:

    <asp:Panel runat="server" DefaultButton="submitButtonA">
     <asp:LinkButton ID="submitButtonA" runat="server" Text="Submit A"/>
    </asp:Panel>
    
    <asp:Panel runat="server" DefaultButton="submitButtonB">
     <asp:LinkButton ID="submitButtonB" runat="server" Text="Submit A"/>
    </asp:Panel>
    

    【讨论】:

    • 所以这一切都很好用(谢谢!),但它似乎是一个仅适用于 JavaScript 的解决方案。. 是否有任何解决 JavaScript 关闭返回键表单提交的方法?
    • 如果您决定将 createUserWizard 嵌套在 asp:Panel 中,必须做一些修改才能让 asp:createUserWizard 使用正确的 DefaultButton。 roastedamoeba.com/blog/archive/2008/06/24/…
    【解决方案2】:

    默认按钮听起来可能是你今晚的朋友 - http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlform.defaultbutton.aspx

    实际上可能不是,我从来没有在没有 Javascript 的情况下尝试过。

    【讨论】:

    • 您可以在此处查看如何自定义 createuserwizard,forums.asp.net/p/1199977/2086200.aspx
    • 在尝试stackoverflow.com/questions/6335707/…(这是您推荐的方法)后,我确定这是一个仅限 JavaScript 的解决方案。目前这很好,但我很想找到一个无 JS 的解决方案(似乎是 webforms 的基本缺陷)。
    • 在服务器端 OnLoad 如果 Postback 等...您可以调用按钮的 onclick 处理程序吗?它必须是页面上唯一可以工作的表单,但它可能会。
    猜你喜欢
    • 2020-09-17
    • 2018-09-18
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多