Ruby on rails rails无需单击输入字段即可输入条形码

Ruby on rails rails无需单击输入字段即可输入条形码,ruby-on-rails,Ruby On Rails,我现在很好奇是否有可能将usb条形码扫描仪连接到pc上,如果你只是扫描一些东西,它应该只检查产品的数据库 更多详情: 我们现在有一个用rails编写的CRM,如果你点击一个输入字段,你可以简单地扫描,一切都很好 但是,有没有可能让人们做任何他们想做的事情,但如果他们扫描,它会自动检查产品的数据库?即使他们没有点击输入字段 扫描仪: tl;博士 usb条形码扫描仪->扫描和查询数据库,无需点击输入字段 编辑: 好的,现在我从一个网站复制了一些代码,它基本上捕获了条形码并打印出来。 现在我想隐藏表单

我现在很好奇是否有可能将usb条形码扫描仪连接到pc上,如果你只是扫描一些东西,它应该只检查产品的数据库

更多详情:

我们现在有一个用rails编写的CRM,如果你点击一个输入字段,你可以简单地扫描,一切都很好 但是,有没有可能让人们做任何他们想做的事情,但如果他们扫描,它会自动检查产品的数据库?即使他们没有点击输入字段

扫描仪:

tl;博士

usb条形码扫描仪->扫描和查询数据库,无需点击输入字段

编辑:

好的,现在我从一个网站复制了一些代码,它基本上捕获了条形码并打印出来。 现在我想隐藏表单,但仍能打印输入,这有可能吗

有一个表单,但我只想要一个类似键盘记录器的工具,它可以检查没有输入字段的任何输入

谢谢大家

    var pressed = false; 
    var chars = []; 
    $(window).keypress(function(e) {
        if (e.which >= 48 && e.which <= 57) {
            chars.push(String.fromCharCode(e.which));
        }
        console.log(e.which + ":" + chars.join("|"));
        if (pressed == false) {
            setTimeout(function(){
                if (chars.length >= 10) {
                    var barcode = chars.join("");
                    console.log("Barcode Scanned: " + barcode);
                    // assign value to some input (or do whatever you want)
                    $("#barcode").val(barcode);
                }
                chars = [];
                pressed = false;
            },500);
        }
        pressed = true;
    });
});
$("#barcode").keypress(function(e){
    if ( e.which === 13 ) {
        console.log("Prevent form submit.");
        e.preventDefault();
    }
});
var pressed=false;
var chars=[];
$(窗口)。按键(功能(e){
如果(e.which>=48&&e.which=10){
var条形码=字符连接(“”);
控制台日志(“条形码扫描:+条形码”);
//为某些输入赋值(或做任何你想做的事情)
$(“条形码”).val(条形码);
}
字符=[];
按下=假;
},500);
}
按下=真;
});
});
$(“#条形码”)。按键(功能(e){
如果(e.which==13){
console.log(“阻止表单提交”);
e、 预防默认值();
}
});

这是可能的,我为一个仓库应用程序做过一次。但这可能取决于您使用的条形码扫描仪的类型

大多数条形码扫描仪将返回以换行符结尾的扫描代码。如果在页面加载后聚焦输入字段,用户可以扫描产品,表单将自动提交

所以这很简单:

<form action="..." method="post">
  <input type="text" name="barcode" autofocus />
</form>

这在理论上是可能的

通过扫描手册中的编程条形码,可以对大多数条形码扫描仪进行编程

在我们的应用程序中,每个条形码扫描器都被编程为在扫描数据后加上前缀,然后加上后缀,正如@zwippie所指出的,后缀通常是回车(回车键)字符

[前缀]+[数据]+[后缀]


因此,您可以查看前缀、捕获数据并在回车时提交。

我们甚至不知道您现在如何与扫描仪“交谈”,如果您希望我们帮助您,我们需要更多信息。这取决于扫描仪的工作方式,但是将焦点设置在数字文本字段上,然后通过JS检查值是否更改应该很容易。我假设扫描器就像一个发送一串数字的键盘。如果用户切换到另一种形式或类似的东西,它确实像一个键盘?然后我必须写一些javascript来自动切换回我的表单,对吗?我想要这样的东西:好吧,我想都在里面了。如果你每小时都换一次,我就不可能回答你的问题了。。。