2012-09-13 3 views
0

내가 내가 마지막 숫자 5를 입력 할 때 양식 자동 제출해야합니다, 필드 12345을 입력 한 후 제출 ... 자동 마지막 자리

는 어떻게 자바 스크립트와 함께 할 수 있습니까?

+2

숫자는 12345 또는 5 자리 숫자 여야합니까? – orhanhenrik

+0

예를 들어 5 자리 숫자로 실제 필드는 99999-999입니다. –

+3

잘못된 디자인 ... 사용자가 마지막 자릿수로 오타를 만들면 어떻게됩니까? 나쁜 데이터를 처리 할 수 ​​있습니다. –

답변

1

또는이 :

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

감사합니다! 모든! –

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

나는 누군가가 일반 자바 스크립트를 JQuery와 결과를 생성하지만, 여기에 본

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

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

은 대부분의 브라우저가 입력 값을 변경하기 전에 javascript를 실행하기 때문에 keyup이어야합니다. – orhanhenrik

+0

스크립트를 업데이트했습니다. – James

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

http://jsfiddle.net/3xHsn/

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

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

값이 5 자리이고 유효한 숫자 인 경우에만 제출됩니다. 또 다른 방법은 regex를 사용하여 값을 우편 번호로 유효성을 검사하는 것입니다.

정규식 솔루션

는 여기에서 찾을 수 있습니다 : 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 속성을 적절히 설정했다고 가정합니다. 그것은 또한 내 경험에 키를 누를 때,의 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

관련 문제