onkeyup,onkeydown 질문입니다.

onkeyup,onkeydown 질문입니다.

QA

onkeyup,onkeydown 질문입니다.

답변 3

본문

rate 텍스트란에  할인율을 넣어서, 자동적으로

price란에 계산되게 하려고합니다. 

예를들어 rate에 50 이라고 입력하면

자동적으로 price란에 25000 이라고 나오게 하고싶은데,

12500 이라고 나옵니다, onkeyup이 두번먹어서 그런거같은데,

요거를 해결할 방법이있을까요..?

 

 

<input type ="text" id="rate" name="rate" value="" onkeyup="Fun_rate(this.value)">

 

<input type ="text" id="price" name="price" value="50000">

 

<script>

function Fun_rate(value)

{

var price = $("#price").val();

var calc = price * (1-value/100);

 $("#price").val(calc);

}

</script>

이 질문에 댓글 쓰기 :

답변 3

onkeyup은 키를 한번만 눌러도 작동하기 때문에

5에서 한번 0에서 한번, 총 두 번이 적용됩니다.

 

submit 버튼이나 focusout 등을 이용하시면 좋을 것 같습니다.

https://codepen.io/anon/pen/vPYrWb?editors=1111
 

keyup은 입력할때마다 동작하므로 onchange 처럼 포커스가 아웃되었을때 또는 엔터같이 입력완료 버튼을 눌렀을때의 이벤트를 사용하셔야 합니다

 

볼피드님 방법이랑 같은 개념이며, 

FullstackCreative님이 말씀하신 focusout을 이용한 방법입니다.

 


    $("#rate").on("focusout", function() {    
        var price = $("#price").val();
        var calc = price * (1-$(this).val()/100);
        $("#price").val(calc);
    });
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 33
© SIRSOFT
현재 페이지 제일 처음으로