【问题标题】:Disable multinput when scan using barcode scanner使用条形码扫描仪扫描时禁用多输入
【发布时间】:2019-11-27 08:07:52
【问题描述】:

我正在使用条形码扫描仪在 html/jquery 表单中输入文本字段。

我将光标保持在输入字段上并使用条形码扫描仪进行扫描,并在字段中显示 upc。

问题是有时产品盒有多个条码,因此扫描仪可以快速扫描多个条码并显示为字符串。 例如第一个代码是 123456,第二个是 222333,然后在输入框中显示为 123456222333。

有什么帮助吗?

我已经尝试过,如果输入框有东西,那么它不应该允许更多的输入,比如

$( document ).ready(function() {
    $("#pr_id").keypress(function(){
      var inp = $(this).val();
      if(inp != ''){
         e.preventDefault(); 
        return false;
      }
    }); 
}); 

但它不能正常工作。

请帮忙。

谢谢

【问题讨论】:

  • 你有扫描仪在输入中插入值的代码部分吗?
  • 可能的条形码长度是多少?
  • 这可以从 6 变化到 12 或 15 ,不确定。可能在下一个输入中使用时间延迟可以工作。

标签: jquery barcode-scanner


【解决方案1】:

您可以添加检查输入条形码的长度,例如,如果它的静态长度等于 6:

$("#pr_id").keypress(function(){
  var inp = $(this).val();
  if(inp != '' && inp.length == 6){
   /*  e.preventDefault(); 
       return false;*/
  }
}); 

或者如果它有一个范围长度,例如从 6 到 8:

$("#pr_id").keypress(function(){
  var inp = $(this).val();
  if(inp != '' && inp.length >= 6 && inp.length <= 8){
    /* e.preventDefault(); 
       return false;*/
  }
}); 

我不明白你为什么要使用(你需要编辑 .keypress(function(e) 因为 e 不会被定义)

e.preventDefault(); 
return false;

这里应该有一些逻辑可以让你用你的条形码做一些事情,我想是的。

【讨论】:

    猜你喜欢
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多