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

 

<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]

3749954805_1628671106.0597.png 

정상가 = $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개 이상 가능 할까요??

 

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

 

아래는 작업 소스 입니다.

 

Copy
<td>

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


?>


<script>
    function printdiscount() { // input -> 값 전달하기
        const discount = document.getElementById('discount').value;
        document.getElementById("apiece").innerText = discount;
    }
</script>


                                            
<!-- <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>


<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 } ?> 

<?php
    list($licence_text, $licence_price) = explode("/", $wr_data['discount']);
    echo $licence_price;
?>

</td>

답변 1개

채택된 답변
+20 포인트

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

 

 

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

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

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

로그인
🐛 버그신고