我有一个与众不同的形式相关的问题。我的网络应用程序侦听来自条形码阅读器的扫描器输入。条形码阅读器表现为下面的格式键盘输入:停止换行提交表单?
~100.0101~\n
其中\n
是一个换行符。我使用一个带有正则表达式的全局JavaScript侦听器 - 只要侦听器听到与正则表达式匹配的输入,我就会调用我的barcodeHandler()
函数。
不幸的是,这与表单不能很好地交互:如果用户在扫描时将注意力集中在表单输入上,表单会在侦听器启动前提交并回发,因为表单需要\n
来表示“submit ”。
我无法更改扫描仪输入,那么有什么办法可以阻止输入\n
时提交的表单吗?
显然,我仍然喜欢我的表单使用Enter键,并且我宁愿不改变默认表单行为!
非常感谢!
你可以使用jQuery和关键行动分配一个特殊的功能,做event.preventdefault();以防止将“输入”键作为表单提交进行处理。 – ITroubs 2011-04-04 12:49:49
谢谢 - 尽管我非常喜欢Enter键仍然可以工作 - 只是不是条码扫描器提供的'\ n'。有没有办法区分两者? – AP257 2011-04-04 13:03:16
啊,我可以在匹配正则表达式的第一部分时应用事件侦听器。这样可行。 – AP257 2011-04-04 13:24:55