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