ASP.NET输入键触发不需要的按钮
我在MasterPage.master的页面顶部有这个ASP.NET输入键触发不需要的按钮,asp.net,button,postback,Asp.net,Button,Postback,我在MasterPage.master的页面顶部有这个 <asp:Panel ID="panSearch" runat="server"> <asp:TextBox ID="txtSearch" runat="server"></asp:TextBox> <asp:ImageButton ID="btnSearch" runat="server" ImageUrl="~/images/iconSearch.gif" onc
<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页面中,当我按下页面下方另一个文本框上的enter键时,按钮会一直被触发
<input type="text" id="txtTagName">
<input type="button" value="Tag" id="btnAddTagOk">
我找不到任何JavaScript可以做到这一点
有人知道为什么会这样吗?您可能会有其他按钮,其类型为type=submit。默认情况下,浏览器在文本框上按enter键时提交表单 您可能希望在asp:面板上尝试以下操作
按enter键将提交默认表单。如果您有几个控件想要控制enter按钮,那么您需要在控件上挂接javascript来拦截enter键,然后执行您自己的逻辑 像这样的
<input type="text" id="txtTagName" onkeydown="if (event.keyCode == 13) document.getElementById('btnAddTagOk').click()"/>
我明白了,所以你需要event.preventDefault;按下键。谢谢
<input type="text" id="txtTagName" onkeydown="if (event.keyCode == 13) document.getElementById('btnAddTagOk').click()"/>