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

연산이랑 onkeyup 질문입니다. 도와주ㅡ세요~ 채택완료

꽁치입니다 4년 전 조회 5,267

 

<input type="text" id='discount' onchange='printdiscount()' name="wr_data[apiece]" class="form-control input-sm" value="<?php echo $wr_data['apiece'];?>" onkeyup="document.getElementById('cal_discount').innerText=(parseInt(this.value)|-0);" />

 

위 input 값을  동시에 <span id='cal_discount'> 에 뿌려주는데요.. 아래 처럼..

<input type="hidden" id='discount' onchange='printdiscount()' name="wr_data[discount]" value="<?php echo $wr_data['discount']; ?>" />

<span id='cal_discount'>

 

위 input 은 hidden 처리해서  id='cal_discount' 값을 value="<?php echo $wr_data['discount']; ?> 에 저장하게 합니다.  그런데 제가 궁금한것은  $wr_data['apiece'] 의 입력값을  $wr_data['normal_price'] 값에서 몇 %

인지 자동 계산 하게끔 하는 것인데... 아래 그림으로 설명 하면요...

 

[그림1]

 

정상가 = $wr_data['normal_price']
단가 = $wr_data['apiece'] --> <span id='cal_discount'> 뿌려줍니다.
할인 = $wr_data['discount']

 

 

여기서 '단가' 에 임의 가격을 입력 하면 '할인' 란에 할인율이 표시 되고 저장하게하려 합니다.

<?php
$a0 = $wr_data['apiece']; //할인금액
$b0 = $wr_data['normal_price']; //소계
$wr_data['apiece'] = number_format(intval($b0/$a0 * 100));

?>

이렇게 대입을 했는데 오류가 나네요..

 

그리고, <span id='cal_discount'> 를 두군데 이상에도 출력주고 싶은데, 1개만 작동하네요..

 

다른 방법으로 2개 이상 가능 할까요??

 

고수님들 도와 주시면...열심히 공부 더 하겠습니다.^^

 

아래는 작업 소스 입니다.

 

</p>

<p><td></p>

<p><?php

$a0 = $wr_data['apiece']; //할인금액

$b0 = $wr_data['normal_price']; //소계

$wr_data['apiece'] = number_format(intval($b0/$a0 * 100));</p>

<p>

?></p>

<p>

<script>

    function printdiscount() { // input -> 값 전달하기

        const discount = document.getElementById('discount').value;

        document.getElementById("apiece").innerText = discount;

    }

</script></p>

<p>

                                            

<!-- <input type="text" class="form-control input-sm text-center" name="wr_data[apiece]" value="<?php echo $wr_data['apiece']; //단가 ?>"  /> -->

<input type="text" id='discount' onchange='printdiscount()' name="wr_data[apiece]" class="form-control input-sm" value="<?php echo $wr_data['apiece'];?>" onkeyup="document.getElementById('cal_discount').innerText=(parseInt(this.value)|-0);" />                                            

                                                    

</td></p>

<p>

<td><!-- //////////////////////할인////////////////////////// -->

<input type="hidden" id='discount' onchange='printdiscount()' name="wr_data[discount]" value="<?php echo $wr_data['discount']; ?>" />

<?php if ($w == '')  { ?><span id='cal_discount'></span><span> %</span><?php } ?>

<?php if ($w == 'u') { ?><span id='cal_discount' value="<?php echo $wr_data['discount'];?>" class="text-danger"><?php echo $wr_data['discount'];?> </span><span> %</span><?php } ?> </p>

<p><?php

    list($licence_text, $licence_price) = explode("/", $wr_data['discount']);

    echo $licence_price;

?></p>

<p></td></p>

<p>

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

답변 1개

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

input에 대한 id가 모두 discount로 되어 있는데,  하나는 apiece 가 되어야 될 것 같습니다.

 

 

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

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

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

로그인