Javascript 在文本框上按Enter键时触发Onclient Click事件

Javascript 在文本框上按Enter键时触发Onclient Click事件,javascript,onclientclick,Javascript,Onclientclick,我在母版页上有一个搜索文本框,我希望用户写下自己的单词,然后按enter键开始搜索。所以在KeyPress事件中,我调用了一个函数,该函数接受一个搜索词并将其传递给搜索页面。这是我的文本框 <asp:TextBox runat="server" ID="searcht" onkeypress='validateSId($(this),(event))'></asp:TextBox> 我有另一个页面demo.aspx,它继承了母版页,它包含一个提交按钮和java脚本验证功

我在母版页上有一个搜索文本框,我希望用户写下自己的单词,然后按enter键开始搜索。所以在KeyPress事件中,我调用了一个函数,该函数接受一个搜索词并将其传递给搜索页面。这是我的文本框

<asp:TextBox runat="server" ID="searcht" onkeypress='validateSId($(this),(event))'></asp:TextBox>
我有另一个页面demo.aspx,它继承了母版页,它包含一个提交按钮和java脚本验证功能,用于文本框,在客户端单击事件时触发。下面是按钮

 <asp:Button ID="btnSubmit" runat="server" Text="Submit"
 OnClientClick="return DemoCheckFields()"OnClick="btnSubmit_Click" CssClass="btn-red-big btn-big" TabIndex="22" 

尝试此操作,按键盘上的手柄按钮,如果按下的按钮是enter,则返回false

<asp:Button ID="btnSubmit" onkeypress="if (event.keyCode == 13)return false;"></asp:Button >

我最终通过使用event.preventDefault()解决了这个问题; 修改后的函数是


您的按钮类型为
Submit
,因此其默认行为为。按enter键时,表单将被提交。我建议您不要混合使用内联事件处理程序和jQuery。我在btnSUbmit上应用了onkeypress事件,但仍然存在相同的问题。您是否尝试了onkeydown而不是onkeypress?TextboxI的此事件最终解决了此问题,方法是在母版页**validateSId()函数的“window.location=”search.aspx?data=“+str;”之前使用“event.preventDefault();”来解决此问题
<asp:Button ID="btnSubmit" onkeypress="if (event.keyCode == 13)return false;"></asp:Button >
function validateSId(txt, e) {
            if (e.keyCode == 13) {                    
                var str = txt.val();
                e.preventDefault();
                window.location = "search.aspx?data=" + str;
            }
        }