X字符后自动提交表单

时间:2017-01-10 02:48:02

标签: javascript jquery html forms

我有一个带有单个输入的表单,正由条形码扫描器填充。我只是在输入内容为7个字符的情况下尝试使用JS或Jquery提交表单。我想要自动提交的表单,用户不必点击提交。我看了很多例子,但还没有找到一个有效的解决方案。

这是我的尝试:

<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>

Jquery的:

$('#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;
    }
  });
}); 

2 个答案:

答案 0 :(得分:2)

我将从以下开始:

  1. maxlength="7"添加到文本输入中,因为您使用的是keyup(..),因此您无法按住键以强制输入长于7个字符的文本
  2. 使用jquery函数检测长度,然后提交输入表单
  3. 设置最大长度

    <input type="text" autofocus name="sID" id="sID" value=""
        id="my_button" placeholder="CLICK TO SCAN:" maxlength="7" />
    

    自动提交表单

    &#13;
    &#13;
        $(function() {
          var $id = $('#sID');
          $id.keyup(function(e) {
            if ($id.val().length >= 7) {
              $(this.form).submit();
            }
          });
        });
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <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:" maxlength="7" />
         <input type="hidden" name="lane" value="1" />
         <input id="subHere"type="submit" value="Submit"  />
    
    </form>
    &#13;
    &#13;
    &#13;

答案 1 :(得分:1)

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

你可以测试一下这个