Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET输入键触发不需要的按钮_Asp.net_Button_Postback - Fatal编程技术网

ASP.NET输入键触发不需要的按钮

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

我在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" 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()"/>