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

时间:2012-09-13 14:35:47

标签: javascript jquery forms field

我有一个字段12345,我需要在输入最后一位数字时自动提交表格,5 ...

如何用javascript做到这一点?

6 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

 $('.input').change(function() {
        if ($(this).val().length >= 5) {
            $('.Form').submit();
        }
    });

答案 2 :(得分:1)

或者这个:

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

答案 3 :(得分:1)

$('#input').keyup(function(){
    var content = new String( $(this).val() );
    if( content.length > 4 ){
        /* do your stuff here */
    }
});

答案 4 :(得分:1)

http://jsfiddle.net/3xHsn/

$("#foo").keyup(function(){
    var val = $(this).val();

    if (val.length == 5 && Number(val)){
        $("form").submit();
    }
});​

仅当值为5位且有效数字时才会提交。另一种方法是使用正则表达式将值验证为邮政编码。

可以在此处找到正则表达式解决方案:http://jsfiddle.net/3xHsn/1/

$("#foo").keyup(function(){
    var val = $(this).val();
    var regex = /^\d{5}$/;

    if (val.match(regex)){
        $("form").submit();
    }
});​

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

答案 5 :(得分:1)

此解决方案假设您已相应设置了maxlength属性。它还使用'输入'事件,根据我的经验,它比按键,键盘等更可靠。

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