Как установить по умолчанию '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" />