input타입 text인 입력폼에 200000이상의 숫자를 입력하도록 구현하려합니다.
keyup 이벤트를 통해
$("#test_input").keyup(function(){
var val= $(this).val();
if(val < 200000) {
alert("최소 숫자는 200000 이상입니다.");
$(this).val('');
}
});
이렇게 처리했으나, 한자리 숫자만 넣어도 얼럿 메시지가 떠서, 입력이 어렵습니다.
인풋박스에 특정 숫자 이하인 경우 얼럿 메시지가 뜨고,
특정 숫자 이상인 경우에는 정상입력되어야 하는데요.
한자리 숫자만 넣어도, 200000의 이하이므로, 얼럿이 뜨게되니..
몇일 검색해보고,,시도해보았으나 어려워서 문의글을 올려봅니다.
도움주실 분 계실까요..
|
답변 4개 / 댓글 2개
특정 숫자이상만 입력되도록 하려면
onkeyup 등 하나 입력할때마다 이벤트 발생시켜서 처리하는 형태가 아니고
sybmit 를 할때 예외처리를 하셔야 합니다
if(val < 200000) {
alert("최소 숫자는 200000 이상입니다.");
$(this).val('');
}
이렇게 하셨는데
이게 최종적으로 나온 숫자값으로 비교해야 원하시는대로 나오기 때문에
keyup , keydown 등 하나입력할때마다 체크하는 형태면 200000 도달전에도 무조건 alert 창이 뜨게 됩니다
Copy
<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('');
}