ASP.NET回车键触发不需要的按钮

问题描述:

我有这样的一个页面(在MasterPage.master)的顶部ASP.NET回车键触发不需要的按钮

<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> 

当我按下另一个文本框下的页面回车键按钮不断被炒(在一个aspx页面)

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

我找不到任何可以做到这一点的JavaScript。

任何人都有任何想法为什么发生?

按回车键提交默认形式。如果你有几个你想要控制输入按钮的控件,你需要在控件上的javascript钩子上拦截输入按键,然后做你自己的逻辑。

像这样的事情

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

我明白了,所以你需要event.preventDefault();在keydown。谢谢! – Aximili 2010-11-20 12:00:41

您可能有其他一些类型为type="submit"的按钮。在文本框上按下enter时,浏览器默认提交表单。

你可能想尝试以下您asp:panel

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

</asp:Panel> 
+0

我试过了,但还是谢谢你 – Aximili 2010-11-20 11:56:08