0

コード :

<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 キーを押して呼び出すページを決定するにはどうすればよいでしょうか。

4

3 に答える 3

2

フォームのデフォルト ボタンを設定します。

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

または、コードで行うこともできます - Page_load:

Page.Form.DefaultButton = btnSearch.UniqueID;

default buttonもう 1 つの役立つヒントは、 onも設定できることですasp:panel。「フォーム」をフォームのパネルまたは複数のパネルにラップすると、次のように複数のsubmitボタンを設定できますPanel Control

<asp:Panel runat="server" id="pnlForm1" DefaultButton="btnSubmit">
   <asp:Button runat="server" id="btnSubmit"/>
</asp:Panel>
于 2012-05-18T13:03:56.590 に答える
1

両方のボックスを別々の Panel に配置し、各 Panel に DefaultButton を設定できます。

UPDATE DefaultButton は、Button を使用する場合に機能します。LinkBut​​ton は IE でのみ機能します。いくつかの回避策があります。

asp.netのasp:panelのデフォルトボタンとしてlinkbuttonを設定します

asp.net の再利用可能な Page_PreRender 関数

于 2012-05-18T13:01:37.360 に答える
1

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 プロパティ

ASP.NET の LinkBut​​ton コントロールで Panel.DefaultButton プロパティを使用する

于 2012-05-18T13:13:55.997 に答える