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

Automatic submit after type the last digit

本文关键字:提交 数字 最后一位      更新时间:2023-09-26

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

如何使用javascript?

我看到有人创建了一个jquery结果,但这里有一个简单的javascript

<input type="text" onkeyup="submitForm(this.value)">
function submitForm(str){
   if(str.length=5){
     document.forms["myform"].submit();
   }
}

或者这个:

$('input[type=text]').on('keyup', function(){
    if($(this).val().length == 5){
        alert('5 digit!');
        //$('#myform').submit();
    }
});
 $('.input').change(function() {
        if ($(this).val().length >= 5) {
            $('.Form').submit();
        }
    });
$('#input').keyup(function(){
    var content = new String( $(this).val() );
    if( content.length > 4 ){
        /* do your stuff here */
    }
});

http://jsfiddle.net/3xHsn/

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

只有当值为5位并且是有效数字时,才会提交此项。另一种选择是使用regex将值验证为邮政编码。

regex解决方案可在此处找到:http://jsfiddle.net/3xHsn/1/

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

regex在这里非常简单,只检查字符串是否正好是五位数字,并且只有五位数字。

此解决方案假定您相应地设置了maxlength属性。它还使用了"input"事件,根据我的经验,它远比按键、keyup等更可靠。

html:

<form id="theform" action="gfdgf">
    <input id="someid" type="text" maxlength="5"/>
</form>​

jQuery:

$(document).on('input','#someid',function() {
    var that=$(this);
    if (that.val().length==that.attr('maxlength')) {
        that.closest('form').submit();
    }
});​

Fiddle