Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 键入最后一位数字后自动提交_Javascript_Jquery_Forms_Field - Fatal编程技术网

Javascript 键入最后一位数字后自动提交

Javascript 键入最后一位数字后自动提交,javascript,jquery,forms,field,Javascript,Jquery,Forms,Field,我有一个字段12345,我需要提交一个表格自动当我键入最后一位数字,5 如何使用javascript实现这一点?或者: $('.input').change(function() { if ($(this).val().length >= 5) { $('.Form').submit(); } }); $('input[type=text]').on('keyup', function(){ if($(this).

我有一个字段12345,我需要提交一个表格自动当我键入最后一位数字,5

如何使用javascript实现这一点?

或者:

 $('.input').change(function() {
        if ($(this).val().length >= 5) {
            $('.Form').submit();
        }
    });
$('input[type=text]').on('keyup', function(){
    if($(this).val().length == 5){
        alert('5 digit!');
        //$('#myform').submit();
    }
});

我看到有人创建了一个jquery结果,但这里有一个是纯javascript

<input type="text" onkeyup="submitForm(this.value)">

function submitForm(str){
   if(str.length=5){
     document.forms["myform"].submit();
   }
}

函数submitForm(str){
如果(str.length=5){
document.forms[“myform”].submit();
}
}

仅当值为5位且为有效数字时,才会提交。另一种方法是使用regex将值验证为zipcode

可以在以下位置找到正则表达式解决方案:


这里的正则表达式非常简单,只检查字符串是否正好是五位数,并且只有五位数

此解决方案假定已相应地设置maxlength属性。它还使用了“输入”事件,根据我的经验,它远比keypress、keyup等更可靠

html:


数字必须是12345还是任意5位?5位例如,实际字段是99999-999Bad design。。。如果用户在最后一个数字上打错了怎么办?你会处理坏数据。我使用的是一个掩码,它是一个巴西人的邮政编码,因为大多数浏览器在更改输入值之前都会触发javascript
$('#input').keyup(function(){
    var content = new String( $(this).val() );
    if( content.length > 4 ){
        /* do your stuff here */
    }
});
$("#foo").keyup(function(){
    var val = $(this).val();

    if (val.length == 5 && Number(val)){
        $("form").submit();
    }
});​
$("#foo").keyup(function(){
    var val = $(this).val();
    var regex = /^\d{5}$/;

    if (val.match(regex)){
        $("form").submit();
    }
});​
<form id="theform" action="gfdgf">
    <input id="someid" type="text" maxlength="5"/>
</form>​
$(document).on('input','#someid',function() {
    var that=$(this);
    if (that.val().length==that.attr('maxlength')) {
        that.closest('form').submit();
    }
});​