在文本框中输入12个字符后激活功能

时间:2013-07-18 14:22:21

标签: javascript asp.net

我是MVC 4的新手,并制作了一个使用手持扫描仪填充文本框的互联网应用程序。我希望在扫描条形码后自动激活JavaScript功能。

扫描条形码用12个字符填充活动文本框,我每次扫描后都必须单击一个按钮。有没有办法在扫描条形码后或输入第12个字符后自动激活按钮或JavaScript功能?

3 个答案:

答案 0 :(得分:2)

$('#myTextBox').attr('maxlength','12');
$(document).on('change','#myTextbox',function(e) {
    if ($(this).val().length >= 12) {
        $('#myButton').click();
    }
});

OR ,如果扫描程序例程支持键盘事件:

$('#myTextBox').attr('maxlength','12');
$(document).on('keyup','#myTextbox',function(e) {
    if ($(this).val().length >= 12) {
        $('#myButton').click();
    }
});

无论哪种方式,此解决方案都需要jQuery,一个Javascript库。

答案 1 :(得分:1)

您可以使用setInterval定期检查长度。像

这样的东西
var i=setInterval(function() {
   if (document.getElementById('myTextBox').value.length >=12) {
      clearInterval(i);

      // Execute your code here

   }
}, 100)

此代码每100毫秒检查一次文本框的长度,当达到所需的长度时 - 您可以执行代码

答案 2 :(得分:1)

嗯,在大多数情况下这都足够了。

function functionThatActivatesWhenTwelveCharactersInForm(){

}

JS:

<input type="text" onkeyup="if(this.value.length>=12){functionThatActivatesWhenTwelveCharactersInForm()}; return true;">