이렇게 하여 금액을 넣으니 세자릿수마다 자동 콤마가 나오는데

이렇게 하여 금액을 넣으니 세자릿수마다 자동 콤마가 나오는데

QA

이렇게 하여 금액을 넣으니 세자릿수마다 자동 콤마가 나오는데

답변 1

본문

 피씨에서는 너무 잘됩니다.

 

그런데 모바일에서 숫자 등록하면 4자리수까지는 잘 찍히다가 5째를 넣으면

 

갑자기 자리수가 늘어납니다..

 

111,1 까지 넣으면 잘 됨... 여기서 1을 넣으면 111,111,11이렇게 늘어나네요

 

피씨에서는 잘되는 데 왜그런지 아시는분 도움좀 청해봅니다.

 

<script type="text/javascript">
  <!--
    function getNumber(obj){
       
         var num01;
         var num02;
         num01 = obj.value;
         num02 = num01.replace(/\D/g,""); //숫자가 아닌것을 제거,
                                          //즉 [0-9]를 제외한 문자 제거; /[^0-9]/g 와 같은 표현
         num01 = setComma(num02); //콤마 찍기
         obj.value =  num01;

    }
    function setComma(n) {
         var reg = /(^[+-]?\d+)(\d{3})/;   // 정규식
         n += '';                          // 숫자를 문자열로 변환        
         while (reg.test(n)) {
            n = n.replace(reg, '$1' + ',' + '$2');
         }        
         return n;
    }
  //-->
  </script>

 

<select name="wr_5" id="wr_5"  class="form-control input-sm" >
     <option value="" <?php echo $wr_5 == "" ? "selected" : "" ?>>급여유형을 선택하세요</option>

     <option value="시급" <?php echo $wr_5 == "시급" ? "selected" : "" ?>>시급</option>
     <option value="월급" <?php echo $wr_5 == "월급" ? "selected" : "" ?>>월급</option>
     <option value="연봉" <?php echo $wr_5 == "연봉" ? "selected" : "" ?>>연봉</option>
    </select>
     <div class="text-muted font-12" style="margin-top:4px;color:#868786">
   급여금액 아래칸에 숫자로 입력 
   </div>
    <input type="text"  name="wr_4" value="<?php echo $wr_4 ?>"  class="form-control input-sm" id="wr_4" 
     onchange="getNumber(this);" onkeyup="getNumber(this);" size="50" maxlength="100" style="text-align:left">

  <input type="checkbox" name="wr_7" id="wr_7" value="discuss" <?php echo $wr_7 == "discuss" ? "checked" : "" ?>>
    <div class="text-muted font-12" style="margin-top:4px;color:#ff0000">급여협의시 체크해주세요</div>

  </div>
 </div>

이 질문에 댓글 쓰기 :

답변 1

onchange="getNumber(this);" onkeyup="getNumber(this);" 

2가지의 이벤트에서 모두 호출하는 것이 원인이 아닐까.. 추측됩니다.

 

onchange 는 빼고, onkeyup 만 있어도 되지 않을까 합니다.

onkeyup="getNumber(this);" 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 125,873
© SIRSOFT
현재 페이지 제일 처음으로