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


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

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

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

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

6 71

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();
    }
    });
});

Microsoft говорят:

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

Введите описание ссылки здесь