【问题标题】:Get text input without textbox [closed]获取没有文本框的文本输入[关闭]
【发布时间】:2021-05-26 04:05:06
【问题描述】:

我想在前门创建一个输入/输出仪表板,其中有一台电脑和壁挂式电视,无需键盘/鼠标,只需一个条形码扫描仪即可全屏运行。 Asp.net mvc 仪表板应用程序将为接待员显示所有当前在场员工的列表。要显示用户列表,如果我有一个文本框和“提交”按钮,这将很容易。出于设计和 COVID 的原因,我希望计算机始终等待来自条形码扫描仪的输入,而没有任何提示/文本框。我只想让员工走到航站楼并在进入/退出时扫描自己。这有意义吗?我处于该项目的设计阶段,无法弄清楚如何在没有传统 texbox/submit 方法的情况下获取文本输入。谢谢。

【问题讨论】:

  • 嗨 kaoskev,听起来是个有趣的项目。我认为您的问题可能有点过于宽泛,但是是的,我相信这是有道理的。我认为您不会得到比@paulsm4 提供的更好的答案。

标签: c# asp.net model-view-controller input hidden


【解决方案1】:

确实有道理。

只是:

  1. 查找支持您的条形码扫描仪的库
  2. 编写读取扫描仪的代码,并查找相应的名称(例如,从数据库中)
  3. 编写代码,用新名称更新列表。
  4. 您可能还希望让接待员能够从列表中删除姓名 - 或手动输入无法扫描的姓名。

附录:

没有键盘/鼠标,只是一个用于输入的条形码扫描仪......我只是想要 员工在进入/退出时走到终端并扫描自己......

这部分可能具有挑战性,原因如下:

  • 如果有足够多的 UI 让员工可以单击“开始扫描”(例如使用按钮),那就太好了

  • 目前尚不清楚仅读取条形码中的编码内容是否足够。通常,条形码包含的信息很少(例如“用户 ID”),您需要进行额外处理(例如“从数据库中的 ID 查找用户名)。

然而……

看这里:

Barcode scanner sample

本文讨论如何使用DeviceWatcherClaimScannerAsync()和朋友异步接收扫描仪数据。

另见Obtain and understand barcode data

其中大部分似乎是特定于 UWP 的 - 我不确定它是否一定对你有用。

您可能还想考虑使用键盘或鼠标...但将 PC“锁定”为“信息亭模式”。例如:

https://docs.microsoft.com/en-us/windows/configuration/lock-down-windows-10-applocker

【讨论】:

  • 感谢您的快速回复。我不是在问“我如何使用条形码扫描仪”,因为它们就像键盘一样,这很容易。我的问题更多是“我如何在没有需要显示且需要聚焦以接受输入的文本框的情况下获取用户数据? -再次感谢。
  • 我认为你是在本末倒置。不,您不需要“键盘”(或等效的)来“接受输入”。而且您当然不需要“文本框”。问:您如何将阅读器连接到 PC(我猜是 USB 端口)?问:条形码中编码的数据是否“完整”(例如您要显示的全名),还是需要“查找”(例如从条形码中编码的ID查找数据库中的用户名) ?问:您是否向用户提供任何类型的“用户界面”(例如“开始阅读”的按钮)?
  • 请考虑通过更新您的帖子来回答上述问题,我很乐意尝试更新我的回复。也请看这里,看看有没有什么好主意:Barcode scanner sample
【解决方案2】:

这是我管理的:

https://jsfiddle.net/s2ryogxt/

$(document).ready(() => {
    const input = document.getElementById("myInput");

    input.style.position = "absolute";
    input.style.top = "-100px";
    input.focus(); // on DOM ready

    let timeout = null;
    input.addEventListener('keyup', () => {
        if (timeout) {
            clearTimeout(timeout);
        }
        timeout = setTimeout(() => {
            if(input.value) {
                alert(`I got ${input.value}`);
                input.value = "";
            }
            input.focus();
        }, 100);
    });
});

这都是 JavaScript,您可以将警报替换为您自己对端点的调用。只需确保该字段始终处于焦点位置,就可以了。

【讨论】:

    猜你喜欢
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 2013-06-07
    • 1970-01-01
    • 2014-10-22
    • 2011-05-04
    • 2014-09-27
    相关资源
    最近更新 更多