2016-06-30 2 views
1

입력 양식에서 입력을 제한한다고 가정되는 다음 jQuery 스크립트가 구현되어 있습니다. 다음 코드에서jQuery 제한 입력 범위

<script language="JavaScript"> 
var inputPlz = $j("span#spanvertragsnehmer_plz input.plz"); 

function attachEventHandlerToInputNumber(input) 
{ 
    input.on("keypress", function(key) 
    { 
     if ((key.which != 8 && key.which != 0 && (key.which < 48 || key.which > 57)) || inputPlz.val().length > 4) 
     { 
      return false; 
     } 
    }); 
} 

attachEventHandlerToInputNumber(inputPlz); 
</script> 

내가 입력을 제한 할 수 있지만 5 자리 숫자로 이동하면 더 이상 백 스페이스를 사용하여 전화 번호를 편집 할 수 없습니다. 내가 여기에서 놓친 것이 있습니까? 고맙습니다.

+1

_Yes_ 해당 세그먼트를 바꿀 수 입력 한'inputPlz.val(). 길이> 4' – Rayon

답변

3

이 문 || inputPlz.val().length > 4은 어떤 키를 누르더라도 입력 길이가 5+ 이상일 때마다 return false; 행을 실행합니다. 백 스페이스는 다른 것과 마찬가지로 키이므로 5 자리가 넘으면 백 스페이스를 사용할 수 없습니다.

번 백 스페이스를 허용하려면

는 5+ 자리 당신이 || (inputPlz.val().length > 4 && key.which != 8))

+0

내가 너무 stupid..didn't입니다 끝 조건을 실현 해 주셔서 감사합니다. 감사합니다. – muktoshuvro

+2

어리석은 것은 아닙니다. 이전에 '! = 8'을 다루었 기 때문에 특히 까다 롭습니다. 기꺼이 도와 드리겠습니다. 프로젝트에 행운이 있기를 바랍니다. – IrkenInvader