5

デフォルトのボタン設定のasp.netパネルがありますが、ENTERボタンを押してもボタンがトリガーされません。SO でこの質問を検索しましたが、有効な回答が見つかりませんでした。

ユーザーが 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

ここで最初に指摘したいのは、デフォルトのボタンは、ページの残りの部分ではなく、このパネル内に存在するコントロールの1つにフォーカスがあるときに押されるコントロールであるということです。

この問題の主な理由は、このパネル内に、キーボードのフォーカスを維持し、Enterキーをデフォルトのボタンに送信できるもの(ボタン以外)がないためです。

たとえば、テキストエディタのようなものです。パネル内にテキストエディタを配置し、それをクリックしてEnterキーを押すと、デフォルトのボタンが表示されます。

したがって、フォーカスがこのパネル内にある場合はボタンにあり、Enterキーを押すと、デフォルトのボタンではなく、選択したボタンが押されます。

于 2012-08-12T16:38:44.500 に答える