2010-11-20 12 views
2

J'ai cela sur le haut d'une page (en MasterPage.master)ASP.NET Entrée déclenchement bouton indésirable

<asp:Panel ID="panSearch" runat="server"> 
     <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox> 
     <asp:ImageButton ID="btnSearch" runat="server" ImageUrl="~/images/iconSearch.gif" onclick="btnSearch_Click" /> 
    </asp:Panel> 

Le bouton ne cesse de se faire congédier quand je presse la touche entrée sur une autre zone de texte en bas de page (dans une page aspx)

<input type="text" id="txtTagName"> 
<input type="button" value="Tag" id="btnAddTagOk"> 

Je n'ai trouvé aucun JavaScript qui fait cela.

Quelqu'un a une idée de ce qui se passe?

Répondre

2

entrer Hitting présentera le formulaire par défaut. Si vous avez plusieurs contrôles que vous souhaitez contrôler sur le bouton Entrée, vous devez accrocher le javascript sur le contrôle pour intercepter la touche Entrée, puis faire votre propre logique.

Quelque chose comme ça

<input type="text" id="txtTagName" onkeydown="if (event.keyCode == 13) document.getElementById('btnAddTagOk').click()"/> 
+0

je vois, vous avez donc besoin event.preventDefault(); sur le clavier. Merci! – Aximili

2

vous pourriez avoir un autre bouton avec son type type="submit". Par défaut, le navigateur soumet le formulaire lorsque vous appuyez sur enter dans les zones de texte.

vous pourriez vouloir essayer de suivre sur votre asp:panel

<asp:Panel ID="panSearch" runat="server" DefaultButton="btnSearch"> 

</asp:Panel> 
+0

j'ai essayé, mais merci quand même – Aximili