5

我有一个带有默认按钮设置的 asp.net 面板,但是当按下 ENTER 按钮时该按钮永远不会触发。我搜索了这个问题,但找不到任何有效的响应。

当用户点击 ENTER 时,如何让 btnRegister 点击?

<asp:Panel runat="server" ID="pnlCustomer" DefaultButton="btnRegister">
    <table width="500px" border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td align="right">
            <asp:Button ID="btnBackToProfile" Text="Back To Profile" runat="server" Enabled="false"
                onclick="btnBackToProfile_Click" />
        </td>
        <td align="right">
            <asp:Button ID="btnClearnForm" Text="Clear Form" runat="server" 
                OnClientClick="ClearForm1()" />
        </td>
        <td align="right">
            <asp:Button id="btnRegister" runat="server" onclientclick="document.getElementById('AlertTime').value = GetSeconds();" Text="Continue" OnClick="btnRegister_Click" />
        </td>
    </tr>
    </table>
</asp:Panel>
4

2 回答 2

6

我想在这里指出的第一件事是,默认按钮是当焦点位于此面板中存在的一个控件上时按下的控件,而不是页面的其余部分。

您的问题的主要原因是因为在此面板内您没有任何东西(除了按钮)可以保持键盘的焦点并将输入发送到默认按钮。

文本编辑器之类的东西,例如:如果您在面板中放置一个文本编辑器,单击它然后按回车键,将触发默认按钮。

所以当焦点在这个面板里面的时候是在一个按钮上,并且当你按下回车键时选择的按钮是按下的,而不是默认的。

于 2012-08-12T16:38:44.500 回答
1

我遇到了同样的问题,发现面板不能位于包含默认按钮的表格之外。如果您将面板放在有按钮的单元格内,它应该可以工作。

于 2021-04-19T19:36:28.753 回答