我有两个搜索选项: 1.在母版页上有一个文本框和搜索按钮。 2.在内容页面上有两个texbox和一个搜索按钮的表单。
现在每当我按下键盘输入键时,都会触发主页按钮事件。 我的意思是在每种情况下,当我从键盘输入键时,调用相同的事件。 我想如果有人填写内容页面搜索表单并按回车键,它会触发内容页面事件。我这样做:
<script language="javascript">
function HandleEnterKey(e) {
var key;
if (window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
if (key == 13) {
if (txtSearchHasFocus) {
alert(txtSearchHasFocus);
document.getElementById("ctl00_bluheader1_btnSearch1").click();
}
else if (txtBusinessNameHasFocus || txtLicNumberHasFocus) {
alert(txtBusinessNameHasFocus);
alert(txtLicNumberHasFocus);
alert(document.getElementById("ctl00_ContentPlaceHolder1_btnSearch"));
e.cancel = true;
document.getElementById("ctl00_ContentPlaceHolder1_btnSearch").click();
}
else return false;
}
//return false;
}
</script>
但没有工作 请有人帮帮我......
问候
答案 0 :(得分:0)
您似乎拥有整个文档的KeyPress事件处理程序。您应该只为您的特定文本框处理KeyPress。即您应该为主页文本框和内容页面texbox使用不同的事件处理程序。以下是使用jQuery的示例:
<script language="javascript" type="text/javascript">
$(document).ready(function() {
$('#tbMasterId').keypress(function(e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
$('#ctl00_bluheader1_btnSearch1').click();
return false;
} else {
return true;
}
});
$('#tbContent1Id,#tbContent2Id').keypress(function(e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
$('#ctl00_ContentPlaceHolder1_btnSearch').click();
return false;
} else {
return true;
}
});
});
</script>