装有条形码扫描仪的输入框

时间:2018-07-16 03:22:49

标签: javascript php jquery barcode-scanner

我有一个输入框,可以从条形码扫描仪的输入处填充该信息。

 <input type="text"  autofocus class="form-control m-input" id="productSearch" aria-describedby="emailHelp" placeholder="Product name">   

但是问题是,每当输入框充满输入时,它应该为空并将相关值添加到表中。 我已经使用以下功能来做到这一点。相关值会自动添加到表中,但问题在于它还会显示自动提示。我如何停止显示自动提示以及将值设为空。

$("#productSearch").keypress(function(event) {
  if (event.which == '10' || event.which == '13') {
    // alert(this.value)
    $.ajax({
      type: "get",
      url: "{!! asset('searchByProductName') !!}",
      dataType: 'json',
      data: {
        name: this.value
      },
      success: function(response) {
        // console.log(response)
        if ($('#' + response.id).length !== 0)
          return;

        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);
        calculateSum();

        $('.quantity').on('keyup', function() {
          var currentRow = $(this).closest("tr");
          var col3 = currentRow.find("td:eq(2)").text();
          var data = col3 * $(this).val();
          currentRow.find("td:eq(4)").text(data.toFixed(2))
          calculateSum();
        });

        $(this).val("");
        return false;
      }
    });
    event.preventDefault();
  }
});

这里提到。如果条形码扫描仪找不到值,我也使用上述输入框实施了自动提示。

2 个答案:

答案 0 :(得分:0)

条形码扫描器的工作原理类似于键盘。它是文本输入设备。将函数写入文本框的文本更改事件。检查字符串的长度,然后调用一个函数以将字符串添加到数据库并清除文本字段。 希望这可以帮助。

答案 1 :(得分:0)

关闭自动填充

<input type="text"  autofocus class="form-control m-input" id="productSearch" aria-describedby="emailHelp" placeholder="Product name" autocomplete="off">