предотвращение перехода сканера штрих-кода в следующее поле ввода - PullRequest
0 голосов
/ 15 октября 2018

Я пытался найти какое-то значение из базы данных и добавить в таблицу, используя сканер штрих-кода, используя следующий код

<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 голосов
/ 15 октября 2018

У меня была такая проблема на веб-сайте системы подписки телефонных компаний Бельгии, в конце сканер штрих-кода также имел бы вкладку!

Я использовал JS, чтобы отключить клавишу Tab!Не могу вспомнить, ограничил ли я его каким-либо образом текстом в текстовом поле или нет (я думаю, что сделал), но JS будет примерно таким (это все из памяти, кстати):

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

Если keyup не работает, это может быть .change() или подобное.Попробуйте!

...