条形码 - 如果输入不为空,则自动获取值

时间:2014-07-01 09:34:35

标签: jquery

嘿,我已经找到了关于这些东西的问题,但找不到有用的东西,我想制作一个代码,如果它检测到输入字段被填满,会自动获取数据。

例如我只关注一个输入字段然后我点击条形码扫描器,所以输入填充类似71-4112-6568,所以事情是我想自动获取数据然后将其存储在变量中

我尝试过这样的事情......

<input name="barcode" type="text" class="barcode">

然后

$('.barcode').keypress(function(){
    var value = $(this).val();
});

使用按键只是一个测试。它有一个回应,但绝对不是我想要的。愿有人帮我准确地纠正这段代码。我将在此方法之后将此变量传递给ajax。谢谢,

1 个答案:

答案 0 :(得分:0)

如果您的条形码具有固定长度,您可以在keypress处理程序中对其进行测试,并且只有在满足要求时才会进行,例如:

$('.barcode').on('keypress', function() {

  if (!$.trim(this.value).length == 12) {
    return; 
  }

  console.log(this.value);

});

另一种选择是设置超时,并在每次keypress触发时清除它:

var timer = 0;
$('.barcode').on('keypress', function() {

    var _this = this;
    clearTimeout(timer);

    timer = setTimeout(function() {
        console.log( _this.value );
    }, 500);

});

我想你的条形码扫描器输入很快,在这种情况下你可以放慢setTimeout()的延迟。

Here's an example