Hay un cuadro de texto en ContentPage. Cuando el usuario presiona Enter en ese cuadro de texto, estoy tratando de activar un botón 'Enviar' en este ContentPage. Me gustaría disparar el evento de ese botón en particular.
En su lugar, hay un cuadro de texto de búsqueda y un botón en la parte superior de la página desde una MasterPage, y el evento de este botón de búsqueda se activa.
¿Cómo controlo para activar el botón de envío de este ContentPage, en lugar del botón de búsqueda de MasterPage?
Estoy usando Ektron CMS para mi gestión de contenido.
Respuestas:
La forma más sencilla es poner los campos y el botón dentro de un Panel y establecer el botón predeterminado en el botón que desea activar al ingresar.
<asp:Panel ID="p" runat="server" DefaultButton="myButton"> <%-- Text boxes here --%> <asp:Button ID="myButton" runat="server" /> </asp:Panel>
fuente
onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_MainContentPlaceHolder_btnSave')">
se agrega algo como a su páginaTextBox
yButton
dentro de lo mismoPanel
. Luego establezca la propiedad DefaultButton .si necesita hacerlo desde el código, use
Me.Form.DefaultButton = Me.btn.UniqueID
¿Dónde
btn
está tu botón de control?fuente
Puede utilizar la
DefaultButton
propiedad en unform
control o en unPanel
control del lado del servidor . En su caso, agrupe los controles en unaPanel
que debería disparar el mismo botón:<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>
fuente
Ahora puede usar la propiedad UseSubmitBehavior para deshabilitar todos los botones que no desea activar al presionar enviar (consulte la documentación para obtener más información)
<asp:Button ID="BtnNotToFIre" runat="server" Text="Search" UseSubmitBehavior="false" />
fuente
$(document).ready(function(){ document.getElementById("text_box_id") .addEventListener("keyup", function(event) { event.preventDefault(); if (event.keyCode === 13) { document.getElementById("button_id").click(); } }); });
fuente
Microsoft dice:
<form id="Form1" defaultbutton="SubmitButton" defaultfocus="TextBox1" runat="server">
ingrese la descripción del enlace aquí
fuente