在7个字符后提交输入

时间:2017-01-10 01:55:09

标签: jquery html ajax forms

我有一个使用单个输入表单的网络应用程序,通过条形码扫描仪填充。我注意到条形码扫描器过早提交超过6个字符的条形码,导致表单提交不正确的数据。我已经设法阻止条形码扫描仪返回(可以通过编程完成,但我们通过条形码扫描仪,所以我更喜欢它是即插即用的员工)。我的问题是 - 在输入完整的7个字符之前,如何确保表单没有提交?任何建议表示赞赏

这是我的表格

<form action="PupListMobile.php" id="my_form" method="get">
     <label for="text-1"></label>
     <input type="text" autofocus name="sID" id="sID" value="" id="my_button" placeholder="CLICK TO SCAN:">
     <input type="hidden" name="lane" value="1" />
     <input id="subHere"type="submit" value="Submit"  />

</form>

这是我的J查询

$('#sID').keyup(function(){
    if(this.value.length ==7){
    $('#subHere').click();
    }
});

$(document).ready(function() {
  $(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
}); 

1 个答案:

答案 0 :(得分:1)

形式:

<form action="PupListMobile.php" id="my_form" method="get">
 <label for="text-1"></label>
 <input type="text" autofocus name="sID" id="sID" value="" placeholder="CLICK TO SCAN:">
 <input type="hidden" name="lane" value="1" />
 <input id="subHere"type="submit" value="Submit"  />

</form>

不确定为什么它不适用于Iphone / pad。

使用Javascript:

<script>
    $(function() {
        $('#my_form').submit(function(event) {
            if ($('#sID').val().length < 7) {
                event.preventDefault();
                // maybe display message to user
            }
        });
    });
</script>