Spaces:
Sleeping
Sleeping
<div class="apply-coupon"> | |
<label for="coupon-code">Coupon Code:</label> | |
<input type="text" id="coupon-code" name="coupon_code" placeholder="Enter your coupon code"> | |
<button type="button" onclick="applyCoupon()">Apply Coupon</button> | |
<p id="coupon-message"></p> <!-- To display coupon status --> | |
</div> | |
<div> | |
<p>Subtotal: $<span id="subtotal">{{ subtotal }}</span></p> | |
<p>Discount: $<span id="discount">0</span></p> | |
<p>Total: $<span id="total-price">{{ subtotal }}</span></p> | |
</div> | |
<script> | |
function applyCoupon() { | |
const couponCode = document.getElementById('coupon-code').value; | |
const subtotal = parseFloat(document.getElementById('subtotal').innerText); | |
const couponMessage = document.getElementById('coupon-message'); | |
if (couponCode) { | |
fetch('/apply_coupon', { | |
method: 'POST', | |
headers: { | |
'Content-Type': 'application/json' | |
}, | |
body: JSON.stringify({ coupon_code: couponCode, subtotal: subtotal }) | |
}) | |
.then(response => response.json()) | |
.then(data => { | |
if (data.success) { | |
const discount = data.discount; | |
const totalPrice = subtotal - discount; | |
document.getElementById('discount').innerText = discount; | |
document.getElementById('total-price').innerText = totalPrice; | |
couponMessage.innerText = `Coupon applied! You saved $${discount}`; | |
couponMessage.style.color = 'green'; | |
} else { | |
couponMessage.innerText = data.message; | |
couponMessage.style.color = 'red'; | |
} | |
}) | |
.catch(error => { | |
console.error('Error applying coupon:', error); | |
couponMessage.innerText = 'Error applying coupon.'; | |
couponMessage.style.color = 'red'; | |
}); | |
} else { | |
couponMessage.innerText = 'Please enter a coupon code.'; | |
couponMessage.style.color = 'red'; | |
} | |
} | |
</script> | |