CMXX - API based checkout
This commit is contained in:
13
script.js
13
script.js
@@ -45,15 +45,25 @@ if (document.querySelector('.product-img-small')) {
|
||||
if (document.querySelector('.product #product-form')) {
|
||||
let updatePrice = () => {
|
||||
let price = parseFloat(document.querySelector('.product .price').dataset.price);
|
||||
let rrp = parseFloat(document.querySelector('.product .rrp').dataset.rrp);
|
||||
|
||||
document.querySelectorAll('.product #product-form .option').forEach(e => {
|
||||
if (e.value) {
|
||||
let optionPrice = e.classList.contains('text') || e.classList.contains('datetime') ? e.dataset.price : 0.00;
|
||||
optionPrice = e.classList.contains('select') ? e.options[e.selectedIndex].dataset.price : optionPrice;
|
||||
optionPrice = (e.classList.contains('radio') || e.classList.contains('checkbox')) && e.checked ? e.dataset.price : optionPrice;
|
||||
price = (e.classList.contains('select') ? e.options[e.selectedIndex].dataset.modifier : e.dataset.modifier) == 'add' ? price+parseFloat(optionPrice) : price-parseFloat(optionPrice);
|
||||
price = (e.classList.contains('select') ? e.options[e.selectedIndex].dataset.modifier : e.dataset.modifier) == 1 ? price+parseFloat(optionPrice) : price-parseFloat(optionPrice);
|
||||
|
||||
let optionRRP = e.classList.contains('text') || e.classList.contains('datetime') ? e.dataset.rrp : 0.00;
|
||||
optionRRP = e.classList.contains('select') ? e.options[e.selectedIndex].dataset.rrp : optionRRP;
|
||||
optionRRP = (e.classList.contains('radio') || e.classList.contains('checkbox')) && e.checked ? e.dataset.rrp : optionRRP;
|
||||
rrp = (e.classList.contains('select') ? e.options[e.selectedIndex].dataset.modifier : e.dataset.modifier) == 1 ? rrp+parseFloat(optionRRP) : rrp-parseFloat(optionRRP);
|
||||
|
||||
}
|
||||
});
|
||||
document.querySelector('.product .price').innerHTML = currency_code + (price > 0.00 ? price.toFixed(2) : 0.00);
|
||||
document.querySelector('.product .rrp').innerHTML = currency_code + (rrp > 0.00 ? rrp.toFixed(2) : 0.00);
|
||||
|
||||
};
|
||||
document.querySelectorAll('.product #product-form .option').forEach(ele => ele.onchange = () => updatePrice());
|
||||
updatePrice();
|
||||
@@ -76,6 +86,7 @@ if (document.querySelector('.cart .ajax-update')) {
|
||||
let formEle = document.querySelector('.cart form');
|
||||
let formData = new FormData(formEle);
|
||||
formData.append('update', 'Update');
|
||||
console.log(formData);
|
||||
fetch(formEle.action, {
|
||||
method: 'POST',
|
||||
body: formData
|
||||
|
||||
Reference in New Issue
Block a user