uncaught referenceError:未在chrome中定义onKydown的sKey

时间:2015-02-23 05:11:37

标签: jquery html5 keycode

我很难用这个脚本...我有一个html表单名称=“mainF”,在表单中有两个输入 - >提交..第一个提交是在导航中有一个位置修复了浮动在页面顶部和每个页面通过mvc。当我在公共目录(index.php)上实例化我的应用程序时,我还在$ app = new App上添加了header.php;和footer.php在底部。在我的header.php页面中,我有我的css,javascript并启动正文以及html表单标记的开头和搜索导航。在footer.php中,我关闭了表单html标记< / form>。当我在登录页面时(通过我在header.php和footer.php中间的视图),页面上会有两个提交输入。我正在使用这个脚本来检测输入的每个部分的输入>文本 - >在页面上提交,所以如果我为搜索部分输入一个关键字,我可以按下键盘上的回车键,它将执行输入 - >提交搜索,或者如果我尝试登录并输入用户名和密码,我可以在键入后立即按键盘输入并尝试登录。这个脚本适用于IE但不适用于Chrome和它在chrome的控制台中给出了一个错误代码:uncaught referenceError:sKey未定义onkeydown ...并且对于logKey也是一样的:uncaught referenceError:logKey未定义onkeydown ...请帮助!

此脚本位于footers.php:

$(document).ready(function() {
    $('#searchBTN').prop('disabled', true);
    $('#skeys').keyup(function() {
        if($(this).val() != '') {
            $('#searchBTN').prop('disabled', false);
            function sKey(event) {
                var s = event.keyCode;
                if(s == 13) {
                    document.mainF.searchBtn.click();
                }
            });
        }
    });
    $('#loginB').prop('disabled', true);
    $('#pass').keyup(function() {
        if($(this).val() != '') {
            $('#loginB').prop('disabled', false);
            function logKey(event) {
                var l = event.keyCode;
                if(l == 13) {
                    document.mainF.loginBtn.click();
                }
            });
        }
    });
});

...

1 个答案:

答案 0 :(得分:0)

我无法重新创建您的特定错误,但是由于您的子功能中的语法无效而导致错误。

        function logKey(event) {
            var l = event.keyCode;
            if(l == 13) {
                document.mainF.loginBtn.click();
            }
        });

应该是

        function logKey(event) {
            var l = event.keyCode;
            if(l == 13) {
                document.mainF.loginBtn.click();
            }
        }

此错误在sKey和logKey函数中都存在,并在chrome控制台中生成语法错误。