我在母版页上有一个搜索文本框,我希望该用户写下它的单词,按下回车键它应该开始搜索。所以onkeypress事件我调用一个函数,它接受一个搜索词并将其传递给搜索页面。这是我的文本框。
<asp:TextBox runat="server" ID="searcht" onkeypress='validateSId($(this),(event))'></asp:TextBox>
这是我的功能。
function validateSId(txt, e) {
if (e.keyCode == 13) {
var str = txt.val();
window.location = "search.aspx?data=" + str;
}
}
我有另一个页面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"
现在的问题是,当我按下输入搜索文本框时,它首先 执行DemoCheckFields函数,然后验证SId()。 我希望在按下搜索文本框中的输入键时,它应该只执行validateSId()。
答案 0 :(得分:0)
试试这个,按下按钮onkeypress,如果按下按钮,则返回false;
<asp:Button ID="btnSubmit" onkeypress="if (event.keyCode == 13)return false;"></asp:Button >
答案 1 :(得分:0)
我终于通过使用event.preventDefault()来解决这个问题; 修改函数是
function validateSId(txt, e) {
if (e.keyCode == 13) {
var str = txt.val();
e.preventDefault();
window.location = "search.aspx?data=" + str;
}
}