[영카트] orderform.sub.php 페이지 관련해서 질문드립니다.

[영카트] orderform.sub.php 페이지 관련해서 질문드립니다.

QA

[영카트] orderform.sub.php 페이지 관련해서 질문드립니다.

답변 1

본문

안녕하세요 초보 개발자입니다.

현재 쿠폰 기능처럼 특정 코드를 입력하면 할인되는 기능을 만들고 있습니다.

만들고 있는중에 어려움이 있어 질문드립니다.

 

아래 태그에 a라는 코드를 입력한다면 아래엔 20, b라는 코드를 입력하면 40, 아무것도 입력하지 않았을땐 0입니다.

 

<input type="text" name="od_dc" id="od_dc" required class="frm_input" size="35" maxlength="100">

(a 또는 b 코드 입력란 주문 완료시 db에 코드값 저장됨)

 

<strong id="od_send_dc">0</strong>

(퍼센트 표시란)

 

변경된 값은 아래 태그로 저장됩니다.

<input type="hidden" id="od_send_dc_input" name="od_send_dc">

 

아래 합계에 #od_send_dc 값을 나누고싶습니다...

<?php echo number_format($tot_price); ?>

 

아래는 위 코드들의 관련 js 코드입니다.

<script>
                        var values = {
                            'a': 20,
                            'b': 40,
                            'default': 0
                        };
                        var odSendDcInput = document.getElementById('od_send_dc_input');
                        document.getElementById('od_dc').addEventListener('input', function() {
                            var inputVal = this.value.trim().toLowerCase();
                            var odSendDc = document.getElementById('od_send_dc');
                            odSendDc.textContent = values[inputVal] || values['default'];
                            odSendDcInput.value = odSendDc.textContent;
                        });
                        var odSendDcInputValue = odSendDcInput.value;
                    </script>


계속 제자리 걸음입니다 ㅠㅠ js 변수랑 php 변수는 연동이 안 된다고 하는데.. 방법이 있을까요...? 제발 도와주세요...

이 질문에 댓글 쓰기 :

답변 1


<input type="text" name="od_dc" id="od_dc" required class="frm_input" size="35" maxlength="100"><br><br>
<strong id="od_send_dc">0</strong><br><br>
<input type="text" id="od_send_dc_input" name="od_send_dc"><br><br>
<div id="tot_price" class="">
    <?php echo number_format($tot_price); ?>
</div>
<script>
    var values = {
        'a': 20,
        'b': 40,
        'default': 0
    };
    var odSendDcInput = document.getElementById('od_send_dc_input');
    
    document.getElementById('od_dc').addEventListener('input', function() {
        var inputVal = this.value.trim().toLowerCase();
        var odSendDc = document.getElementById('od_send_dc');
        odSendDc.textContent = values[inputVal] || values['default'];
        odSendDcInput.value = odSendDc.textContent;
        var odSendDcInputValue = odSendDcInput.value;
        var tot_price = document.getElementById('tot_price');
        var totalPrice = (100 - odSendDcInputValue) * <?php echo $tot_price; ?> / 100;
        tot_price.textContent = numberWithCommas(totalPrice); // 콤마 찍어 주기
    });
    function numberWithCommas(x) {
        return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    }
</script>


위와 같이 하면 <?php echo number_format($tot_price); ?> 값을 조정할 수 있습니다.
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 68
© SIRSOFT
현재 페이지 제일 처음으로