input 특정숫자 이상부터 입력되도록 가능할까요?

input 특정숫자 이상부터 입력되도록 가능할까요?

QA

input 특정숫자 이상부터 입력되도록 가능할까요?

본문

input타입 text인 입력폼에 200000이상의 숫자를 입력하도록 구현하려합니다.

keyup 이벤트를 통해 

 

$("#test_input").keyup(function(){ 

var val= $(this).val();

if(val < 200000) {
      alert("최소 숫자는 200000 이상입니다.");
      $(this).val('');
 }

});

 

이렇게 처리했으나, 한자리 숫자만 넣어도 얼럿 메시지가 떠서, 입력이 어렵습니다.

인풋박스에 특정 숫자 이하인 경우 얼럿 메시지가 뜨고,

특정 숫자 이상인 경우에는 정상입력되어야 하는데요.

 

한자리 숫자만 넣어도, 200000의 이하이므로, 얼럿이 뜨게되니..

몇일 검색해보고,,시도해보았으나 어려워서 문의글을 올려봅니다.

 

도움주실 분 계실까요..

 

 

이 질문에 댓글 쓰기 :

답변 4

submit 할때 체크 하시면 제일 이상없이 잘 처리할수 있구요.  아니면 포커스가 더날때 실행되는 blur 함수를 이용해서 시도해 보시면 될것 같습니다. 


<input type=number id=my>
<script>
my.onkeyup = function() {
    if (this.value.length > 5 && this.value < 200000) {
        this.value = "";
        alert("최소 숫자는 200000 이상입니다.");
    }
}
</script>

답변 남겨주셔서 감사합니다.
남겨주신 코드를 참고해서 5자리 수 작성될 때 숫자 이하인 경우,
얼럿메시지 출력은 잘 되는데요.

문제가, 5자리 이하는 그냥 입력이 되는데 방법이 없을까요?

var val= $(this).val();

if(val.length > 5 && val < 200000) {
alert("최소 200000이상입니다.");
$(this).val('');
}

원하는 효과는 논리적으로 불가능한 효과 아닌지요?

그 이하 숫자를 기입하지 않으면 200000 에 도달하지를 못하는데

명백하게 어떤 효과를 원하는 지 문자 말고 스샷으로 설명해 주세요.

제가 보기에는 "네모난 동그라미"를 구현하려고 하시는 것 같네요.

특정 숫자이상만 입력되도록 하려면 

onkeyup 등 하나 입력할때마다 이벤트 발생시켜서 처리하는 형태가 아니고

sybmit 를 할때 예외처리를 하셔야 합니다

 

if(val < 200000) {
      alert("최소 숫자는 200000 이상입니다.");
      $(this).val('');
 }

 

이렇게 하셨는데 

이게 최종적으로 나온 숫자값으로 비교해야 원하시는대로 나오기 때문에 

keyup , keydown 등 하나입력할때마다 체크하는 형태면 200000 도달전에도 무조건 alert 창이 뜨게 됩니다

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 52,814
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIR SOFT