主页按钮事件按下输入键时按内容页按钮事件重载

时间:2010-11-29 10:51:19

标签: asp.net

我有两个搜索选项: 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>

但没有工作 请有人帮帮我......

问候

1 个答案:

答案 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>