Ruby on rails rails无需单击输入字段即可输入条形码
我现在很好奇是否有可能将usb条形码扫描仪连接到pc上,如果你只是扫描一些东西,它应该只检查产品的数据库 更多详情: 我们现在有一个用rails编写的CRM,如果你点击一个输入字段,你可以简单地扫描,一切都很好 但是,有没有可能让人们做任何他们想做的事情,但如果他们扫描,它会自动检查产品的数据库?即使他们没有点击输入字段 扫描仪: tl;博士 usb条形码扫描仪->扫描和查询数据库,无需点击输入字段 编辑: 好的,现在我从一个网站复制了一些代码,它基本上捕获了条形码并打印出来。 现在我想隐藏表单,但仍能打印输入,这有可能吗 有一个表单,但我只想要一个类似键盘记录器的工具,它可以检查没有输入字段的任何输入 谢谢大家Ruby on rails rails无需单击输入字段即可输入条形码,ruby-on-rails,Ruby On Rails,我现在很好奇是否有可能将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来自动切换回我的表单,对吗?我想要这样的东西:好吧,我想都在里面了。如果你每小时都换一次,我就不可能回答你的问题了。。。