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()"/>
答
您可能有其他一些类型为type="submit"
的按钮。在文本框上按下enter
时,浏览器默认提交表单。
你可能想尝试以下您asp:panel
<asp:Panel ID="panSearch" runat="server" DefaultButton="btnSearch">
</asp:Panel>
+0
我试过了,但还是谢谢你 – Aximili 2010-11-20 11:56:08
我明白了,所以你需要event.preventDefault();在keydown。谢谢! – Aximili 2010-11-20 12:00:41