防止条形码扫描仪进入下一个输入框

时间:2018-10-15 14:07:42

标签: javascript php jquery ajax barcode-scanner

我正在尝试从数据库中找到一些值,并使用条形码扫描仪使用以下代码将其添加到表中

<div class="form-group m-form__group">
    <label for="exampleInputEmail1">Search by Item name or barcode</label>
    <input type="text"  autofocus class="form-control m-input" id="productSearch"  placeholder="Item ">              
</div>

$( "#productSearch" ).change(function(event) {
    event.preventDefault();
  $.ajax({
          type: "get",
          context: this,
          url: "{!! asset('searchByProductName') !!}",
          dataType: 'json',
          data: { name:this.value },
          success: function(response)
            {
              if ($('#' + response.id).length !== 0)
              { $(this).val("").focus(); return false; }
             var markup = "<tr id="+response.id+"><input type='hidden' name='product_id[]'  value="+response.id+"><td><i class='flaticon-delete-1 delete-row' onclick='deleteRow(this)'></i></td><td>"+response.product_name+"</td><td>"+response.product_unit_price+"</td><td><input type='text' name='quantity[]' class='quantity' value='1'></td><td class='total'>"+response.product_unit_price+"</td><td>"+response.notes+"</td></tr>";

              $("table tbody").append(markup); 


                $(this).val("").focus(); return false; 
              } 
        });     
});

但是问题是,它一旦从数据库中搜索到它添加到表中的值,但是指针就指向了下一个输入框,而我不需要,因为我需要根据从条形码扫描器。我该如何预防?

1 个答案:

答案 0 :(得分:0)

我在比利时电话公司的订阅系统网站上遇到这样的问题,条形码扫描仪的末尾还会包含一个标签!

我用JS禁用了Tab键!不记得我是否以某种方式将其限制为文本框中的文本(我想是的),但是JS可能是这样的(全部来自内存btw):

$('#some-barcode-input').on('keyup', function(e){ 
    var code = e.keyCode || e.which;
    if(code == 9) { // 9 is the tab key
        return false;
    }
});

如果键盘不起作用,则可能是.change()或类似名称。试试看!