繁体   English   中英

将条形码扫描到Web应用程序的文本框中

[英]Scanning barcode into the textbox of a web application

我正在使用基于Web的Java应用程序(UI使用GWT)。 我有一个仓库管理系统,我需要扫描条形码并将其显示在文本框中。 我知道扫描仪会发送键盘事件。 如何捕获这些事件并将其填充到我的文本框中? 扫描条形码时,光标应该位于文本框上吗?

任何人都可以提供如何捕获这些事件并在文本框中填充代码片段吗?

请注意,这需要在不同的操作系统和浏览器上工作。 这应该适用于笔记本电脑/台式机。 它不适用于移动应用程序。

如果该页面的默认操作是扫描条形码,我建议将光标放在输入文本框上,然后,如果该文本框设置为触发回车换行符,则可以在文本框上使用KeyPressHandler来拦截扫描仪的控制字符(输入键)。

可能是一个开始寻找的地方。

快速搜索一个例子, 在这里找到了一个很好的例子

由于无法区分扫描仪事件和键盘事件,因此只需将焦点放在文本框上并等待输入。 确保设置扫描仪,以便它们随后发送TAB,而不是ENTER。

根据扫描仪的不同,可以对其进行编程以在实际条形码之前发送预定义的前缀。 例如,我使用的扫描仪Honeywell Voyager 95X0可以配置为在每个条形码之前发送例如Start of TeXt (ASCII 02H)Start of TeXt (ASCII 02H) (请参阅配置指南第8章,第42页 )。 然后,您可以使用该前缀来过滤出哪些KeyPressEvent来自扫描仪(然后将输入移至文本框)以及哪些来自用户。

设置“全局” KeyPressHandler(这样,用户在扫描条形码之前不必记住要聚焦文本框)应该很简单-例如,参见此线程 关键是使用Event.addNativePreviewHandler捕获事件,然后再将事件触发到其处理程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM