Na ContentPage znajduje się pole tekstowe. Kiedy użytkownik naciśnie Enter w tym polu tekstowym, próbuję uruchomić przycisk „Prześlij” na tej stronie ContentPage. Chciałbym odpalić zdarzenie tego konkretnego przycisku.
Zamiast tego na górze strony ze strony MasterPage znajduje się pole tekstowe i przycisk wyszukiwania, a zdarzenie tego przycisku wyszukiwania jest uruchamiane.
Jak mogę sterować uruchamianiem przycisku przesyłania tej ContentPage zamiast przycisku wyszukiwania MasterPage?
Do zarządzania treścią używam Ektron CMS.
Odpowiedzi:
Najłatwiej jest umieścić pola i przycisk wewnątrz Panelu i ustawić domyślny przycisk na przycisk, który ma być aktywowany przy wejściu.
<asp:Panel ID="p" runat="server" DefaultButton="myButton"> <%-- Text boxes here --%> <asp:Button ID="myButton" runat="server" /> </asp:Panel>
źródło
onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_MainContentPlaceHolder_btnSave')">
do Twojej strony zostanie dodane coś takiegoTextBox
iButton
w tym samymPanel
. Następnie ustaw właściwość DefaultButton .jeśli chcesz to zrobić z kodu, użyj
Me.Form.DefaultButton = Me.btn.UniqueID
Gdzie
btn
jest twoja kontrola przycisków.źródło
Można użyć
DefaultButton
właściwości albo na stronie serweraform
kontroli lubPanel
kontroli. W twoim przypadku zgrupuj kontrolki razem w taki,Panel
który powinien odpalić ten sam przycisk:<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>
źródło
Możesz teraz użyć właściwości UseSubmitBehavior, aby wyłączyć wszystkie przyciski, których nie chcesz uruchamiać po kliknięciu przycisku przesyłania (zapoznaj się z dokumentacją, aby uzyskać więcej informacji)
<asp:Button ID="BtnNotToFIre" runat="server" Text="Search" UseSubmitBehavior="false" />
źródło
$(document).ready(function(){ document.getElementById("text_box_id") .addEventListener("keyup", function(event) { event.preventDefault(); if (event.keyCode === 13) { document.getElementById("button_id").click(); } }); });
źródło
Microsoft mówi:
<form id="Form1" defaultbutton="SubmitButton" defaultfocus="TextBox1" runat="server">
wprowadź opis linku tutaj
źródło