Javascript 在文本框上按Enter键时触发Onclient Click事件
我在母版页上有一个搜索文本框,我希望用户写下自己的单词,然后按enter键开始搜索。所以在KeyPress事件中,我调用了一个函数,该函数接受一个搜索词并将其传递给搜索页面。这是我的文本框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脚本验证功
<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;
}
}