Il y a une zone de texte sur une page de contenu. Lorsque l'utilisateur appuie sur Entrée dans cette zone de texte, j'essaie d'activer le bouton "Soumettre" de cette page de contenu. Je voudrais déclencher l'événement de ce bouton particulier.
Au lieu de cela, il y a une zone de texte et un bouton de recherche en haut de la page à partir d'une page principale, et l'événement de ce bouton de recherche est déclenché.
Comment puis-je contrôler l'activation du bouton d'envoi de ContentPage au lieu du bouton de recherche de MasterPage?
J'utilise Ektron CMS pour la gestion de mon contenu.
Le moyen le plus simple consiste à placer les champs et le bouton à l'intérieur d'un panneau, puis de définir le bouton par défaut sur le bouton sur lequel vous souhaitez être activé.
<asp:Panel ID="p" runat="server" DefaultButton="myButton">
<%-- Text boxes here --%>
<asp:Button ID="myButton" runat="server" />
</asp:Panel>
si vous avez besoin de le faire à partir de code, utilisez
Me.Form.DefaultButton = Me.btn.UniqueID
Où btn
est votre contrôle de bouton.
Vous pouvez utiliser la propriété DefaultButton
sur un contrôle côté serveur form
ou Panel
. Dans votre cas, regroupez les contrôles dans un Panel
qui devrait déclencher le même bouton:
<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>
Vous pouvez maintenant utiliser la propriété UseSubmitBehavior pour désactiver tous les boutons que vous ne souhaitez pas utiliser lorsque vous cliquez sur submit (consultez la documentation pour plus d'informations).
<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 dit:
<form id="Form1"
defaultbutton="SubmitButton"
defaultfocus="TextBox1"
runat="server">