为什么,如果我有两个,“输入”(在键盘上)被禁用

本文关键字:输入 键盘 asp 如果 两个 为什么 TextBox | 更新日期: 2023-09-27 18:34:31

Code :

<form id="form1" runat="server">
<div>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</div>
</form>

如果我单击输入字段并按 Enter 键,则不会提交任何内容。为什么?我如何决定为每个输入框按 Enter 键调用哪个页面?

为什么,如果我有两个<asp:TextBox>,“输入”(在键盘上)被禁用

设置表单默认按钮:

<form id="Form1"
    defaultbutton="SubmitButton"
    runat="server">

或者你可以在代码中做到这一点 - Page_load:

Page.Form.DefaultButton = btnSearch.UniqueID;

另一个有用的提示是,您也可以在asp:panel上设置default button。将您的"表单"包装成一个面板或表单中的多个面板,这将使您能够为每个Panel Control设置多个submit按钮:

<asp:Panel runat="server" id="pnlForm1" DefaultButton="btnSubmit">
   <asp:Button runat="server" id="btnSubmit"/>
</asp:Panel>

您可以将两个框放在单独的面板上,并为每个面板设置 DefaultButton。

如果您使用按钮,更新默认按钮将起作用,链接按钮仅在IE中工作,有一些解决方法:

将链接按钮设置为 asp.net 中 ASP:面板的默认按钮

asp.net 中可重复使用的Page_PreRender功能

使用 Jquery 解析它:

$(document).ready(function () {
    $('body').bind('keypress', function (e) {
        var code = (e.keyCode ? e.keyCode : e.which);
        var button = $("#<%= SubmitButton.ClientID %>");
        if (button != null && code == 13) {
            button.click();
        }
    });
})

或在 C# 中

Page.Form.DefaultButton = SubmitButton.UniqueID;

HtmlForm.DefaultButton Property

在 ASP.NET 中使用 Panel.DefaultButton 属性和 LinkButton 控件