Как установить по умолчанию 'enter' на определенной кнопке

В ContentPage есть текстовое поле. Когда пользователь нажимает Enter в этом текстовом поле, я пытаюсь запустить кнопку "Отправить" на этом ContentPage. Я хотел бы отключить это событие кнопки.

Вместо этого есть текстовое поле поиска и кнопка в верхней части страницы из MasterPage, и это событие кнопки поиска срабатывает.

Как мне заблокировать эту кнопку ContentPage submit, а не кнопку поиска MasterPage?

Я использую Ektron CMS для управления контентом.

Ответ 1

Самый простой способ - поместить поля и кнопку внутри панели и установить кнопку по умолчанию на кнопку, которую вы хотите активировать при вводе.

<asp:Panel ID="p" runat="server" DefaultButton="myButton">
  <%-- Text boxes here --%>
  <asp:Button ID="myButton" runat="server" />
</asp:Panel>

Ответ 2

если вам нужно сделать это из кода, используйте

Me.Form.DefaultButton = Me.btn.UniqueID

Где btn - ваш кнопочный элемент управления.

Ответ 3

Вы можете использовать свойство DefaultButton либо на сервере form, либо Panel. В вашем случае группируйте элементы управления вместе в Panel, которые должны запускать ту же кнопку:

<asp:Panel ID="SearchBox" runat="server" DefaultButton="BtnSearch">
    ...
    <asp:Button ID="BtnSearch" runat="server" Text="Search!" />
</asp:Panel>
....
<asp:Panel ID="UserPanel" runat="server" DefaultButton="BtnUserSubmit">
    ...
    <asp:Button ID="BtnUserSubmit" runat="server" Text="Submit" />
</asp:Panel>

Ответ 4

Теперь вы можете использовать свойство UseSubmitBehavior, чтобы отключить все кнопки, которые вы не хотите запускать при нажатии submit (ознакомьтесь с документацией для получения дополнительной информации)

    <asp:Button ID="BtnNotToFIre" runat="server" Text="Search" UseSubmitBehavior="false" />