Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止用户点击除文本区域外的Enter键_Javascript_Jquery_Forms - Fatal编程技术网

Javascript 防止用户点击除文本区域外的Enter键

Javascript 防止用户点击除文本区域外的Enter键,javascript,jquery,forms,Javascript,Jquery,Forms,我有一个相当复杂的表单,它有多个阶段,有许多不同的文本字段和文本区域。它在默认情况下按enter键的已用条形码中使用的环境,也就是说,当他们扫描大量使用它们的产品时,选择该环境,因此关闭enter功能已成为不可能 我正在使用一个表单向导脚本,它在输入阶段处理客户端验证。此脚本在填写表单时被按enter键打断,并在刷新页面之前拒绝提交 <a href="javascript:;" class="btn green button-submit">Submit <i class="m

我有一个相当复杂的表单,它有多个阶段,有许多不同的文本字段和文本区域。它在默认情况下按enter键的已用条形码中使用的环境,也就是说,当他们扫描大量使用它们的产品时,选择该环境,因此关闭enter功能已成为不可能

我正在使用一个表单向导脚本,它在输入阶段处理客户端验证。此脚本在填写表单时被按enter键打断,并在刷新页面之前拒绝提交

<a href="javascript:;" class="btn green button-submit">Submit <i class="m-icon-swapright m-icon-white"></i></a>
但是,这会阻止在textarea中使用enter。我做了一些研究,并尝试使用jQuery中的
is()
操作符

$(document).ready(function () {
    $(window).keydown(function (event) {
        if (event.keyCode == 13 && !event.is("textarea")) {
            event.preventDefault();
            return false;
        }
    });
});
这不起作用,它无法阻止输入中的enter键,并像以前一样阻止表单提交

最后,如果表单通过验证,这是处理表单提交的javascript

$('#form_wizard_1 .button-submit').click(function () {
    // Can put more onsubmit processing here
    document.getElementById('submit_form').submit();
}).hide();

有谁能建议我如何在除文本区域之外的所有输入上防止输入键。我不会假装是一名JavaScript开发人员,尽管我正在努力边学边做。以下是我读过的文章,这些文章要么试图修改代码,要么未能理解代码如何以正确的方式应用于我:


*关于最后一个链接,我需要一个全局解析,可以自动阻止它出现在表单中可能存在的所有文本区域

一如既往,感谢您的帮助。

使用
$(event.target).is(“textarea”)

还可以使用
event.which
(而不是
event.keyCode
;jQuery为xBrowser规范化它)或使用
event.key

jQuery(函数($){//DOM就绪
$('form')。打开('keydown',函数(ev){
如果(ev.key==“Enter”&&&&!$(ev.target.is('textarea')){
ev.preventDefault();
log(“在非TEXTAREA元素上禁止输入键”);
}
});
});


您是否尝试过使用
$(event.target).is(“textarea”)
我不完全确定您正在使用的脚本以及它是如何被中断的…我在研究中不知道这一点,您能否将其作为适当的答复发布,以便我可以投票并接受它,这完全符合预期。我进行了快速搜索-但是为了验证,如果浏览器不支持这些调试功能(如FireBug或chromes内置调试),console.log不会导致问题
$('#form_wizard_1 .button-submit').click(function () {
    // Can put more onsubmit processing here
    document.getElementById('submit_form').submit();
}).hide();