как установить значение по умолчанию "enter" на определенной кнопке
на странице содержимого есть текстовое поле. Когда пользователь нажимает Enter в этом текстовом поле, я пытаюсь запустить кнопку "Отправить" на этой странице содержимого. Я хотел бы запустить событие этой конкретной кнопки.
вместо этого в верхней части страницы на главной странице есть текстовое поле и кнопка поиска, и событие этой кнопки поиска срабатывает.
Как я могу управлять, чтобы запустить эту кнопку отправки ContentPage, а не кнопку поиска MasterPage?
Я используя Ektron CMS для управления контентом.
6 ответов:
самый простой способ-поместить поля и кнопку внутри панели и установить кнопку по умолчанию на кнопку, которую вы хотите активировать при вводе.
<asp:Panel ID="p" runat="server" DefaultButton="myButton"> <%-- Text boxes here --%> <asp:Button ID="myButton" runat="server" /> </asp:Panel>
Если вам нужно сделать это из кода, использовать
Me.Form.DefaultButton = Me.btn.UniqueID
здесь
btn
ваш кнопка управления.
можно использовать
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>
теперь вы можете использовать свойство UseSubmitBehavior, чтобы отключить все кнопки, которые вы не хотите запускать при нажатии submit (ознакомьтесь с документацией для получения дополнительной информации)
<asp:Button ID="BtnNotToFIre" runat="server" Text="Search" UseSubmitBehavior="false" />
$(document).ready(function(){ document.getElementById("text_box_id") .addEventListener("keyup", function(event) { event.preventDefault(); if (event.keyCode === 13) { document.getElementById("button_id").click(); } }); });