테스트 사이트 - 개발 중인 베타 버전입니다

input 숫자입력시 천단위만 입력하게 할 수 있을까요? 채택완료

토타토타 7년 전 조회 13,745

예를들어서요 256789 이렇게 입력을 했다고 하면 입력할때

 

25까지는 입력이 되고 나머지부분은 그냥 0으로 표시되게 하려고 하는데요?

 

가능할까요?

 

비슷한 기능이라도 알고 싶습니다. 

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
7년 전

</p>

<p><input type="text" id="input1">

<input type="text" id="input2"></p>

<p><script></p>

<p>$(function() {</p>

<p>  $('#input1').on('change', function() {</p>

<p>     var n = $(this).val(); 

     n = Math.floor(n/1000) * 1000; </p>

<p>     //alert(n);  </p>

<p>     $(this).val(n);</p>

<p>  });</p>

<p>});</p>

<p></script></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

    var px = vprice.slice(-3);  // 뒷자리 3개
    if(eval(px) > 0){ // 000 은 0임으로 
        var pt=0; pt=priceThousand(); 
        f.price.value=pt;
        formalertwindow("320","180","<b><u>천단위</u></b> 이상 신청 가능 합니다."); return;
    }

 

--------------------------------------------------------------------------------

 

function priceThousand(){
    var fname="Mlang_PointF_formInfo";
    var f=document[fname];    
    var price=f.price.value;
    if(price){ var vprice=price.replace(/,/g,""); }else{ var vprice=0; }
    var ok=Math.floor(vprice/1000) * 1000; 
    return formatnumber(ok,3);
}

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

제국치천

html5에서는 인풋 타입이 number 일 때 step 속성을 사용할 수 있습니다. 아래와 같이 코드를 짜놓으면, 1000단위가 아닌 숫자를 입력했을 때 브라우저가 submit을 거부합니다.

 

<input type="number" name="points" step="1000">

 

아래는 step이 3으로 설정된 코드샘플입니다.

https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_step">https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_step

 

다만, 익스9 이하에서는 동작하지 않고, 1000단위 이하 숫자의 입력을 거부하는 것이 아니라, submit을 거부하는 것이기 때문에, 아마 원하시는 동작은 아닐 것 같습니다.

 

border 없는 input 뒤에다가 000을 그냥 텍스트로 넣어 주시고, submit한 뒤에 서버 코드에서 곱하기 1000을 해주거나, submit 전에 스크립트로 곱하기 1000을 해주는 방식을 사용하시는 편이 좀 더 깔끔할 것 같습니다.

 

</p>

<p><label style="border: #bbb solid 1px;"><input type="number" id="falseInput" style="border: none; text-align: right;">,000</label>





<label><input type="number" id="realInput" step="1000"></label>

<script>

$(function() {

    $("#falseInput").on('keyup change', function() {

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

        n = parseInt(n);

        if(!isNaN(n)){

            $("#realInput").val(n*1000);

        } else {

            $("#realInput").val('');

        }

    });

});

</script></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

jquery나 javascript로 적어진숫자의 길이체크

맨앞두자리숫자 확인

나머지 자리 0으로 채워지게함.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인