На ContentPage есть текстовое поле. Когда пользователь нажимает Enter в этом текстовом поле, я пытаюсь запустить кнопку «Отправить» на этой ContentPage. Я хотел бы запустить событие этой конкретной кнопки.
Вместо этого есть текстовое поле поиска и кнопка в верхней части страницы из MasterPage, и событие этой кнопки поиска запускается.
Как я могу управлять запуском этой кнопки отправки ContentPage вместо кнопки поиска MasterPage?
Я использую Ektron CMS для управления контентом.
Ответы:
Самый простой способ - поместить поля и кнопку внутри панели и установить кнопку по умолчанию на кнопку, которую вы хотите активировать при входе.
<asp:Panel ID="p" runat="server" DefaultButton="myButton"> <%-- Text boxes here --%> <asp:Button ID="myButton" runat="server" /> </asp:Panel>
источник
onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_MainContentPlaceHolder_btnSave')">
на вашу страницу добавлено что-то вродеTextBox
иButton
в одно и то жеPanel
. Затем установите свойство DefaultButton .если вам нужно сделать это из кода, используйте
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, чтобы отключить все кнопки, которые вы не хотите активировать при нажатии кнопки отправки (дополнительные сведения см. В документации)
<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(); } }); });
источник
Microsoft говорит:
<form id="Form1" defaultbutton="SubmitButton" defaultfocus="TextBox1" runat="server">
введите описание ссылки здесь
источник