gpt4 book ai didi

javascript - 停止换行提交表单?

转载 作者:太空狗 更新时间:2023-10-29 15:31:13 25 4
gpt4 key购买 nike

我有一个稍微不寻常的与表单相关的问题。我的网络应用程序监听来自条形码阅读器的扫描仪输入。条形码阅读器以以下格式显示为键盘输入:

~100.0101~\n

其中 \n 是换行符。我使用带有正则表达式的全局 javascript 监听器 - 每当监听器“听到”与正则表达式匹配的输入时,我都会调用我的 barcodeHandler() 函数。

不幸的是,这不能很好地与表单交互:如果用户在扫描时专注于表单输入,表单会在监听器启动之前提交并回传,因为表单采用 \n 表示“提交”。

我无法更改扫描仪输入,那么有什么方法可以在输入 \n 时停止提交表单?

显然,我仍然希望我的表单可以使用 Enter 键,并且如果可能我宁愿不更改默认表单行为!

非常感谢!

最佳答案

您需要捕获表单控件上的按键并使用 preventDefault()return false 阻止默认操作。

// do this for all <input> <textarea> and <select> elements on the page.
input.addEventListener("keypress", function(event){
if (event.which == '10' || event.which == '13') {
event.preventDefault();
}
}, false);

或使用 jQuery:

$("input, textarea, select").keypress(function(event){
if (event.which == '10' || event.which == '13') {
event.preventDefault();
}
});

关于javascript - 停止换行提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5538661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com