Мне удалось динамически отобразить сумму из 6 элементов DOM с линейной стоимостью из файла php. К сожалению, при попытке рассчитать стоимость доставки мои методы JavaScript, связанные с реализацией deliveryCharge, не могут ничего отобразить на странице. Благодаря тому, что методы промежуточного итога работали и отображались идеально, я попытался устранить проблему, предоставив innerHTML постоянное значение как строки, так и int, оба раза ничего не отображалось на экране.
Я отобразил как рабочую часть метода подсчета промежуточных итогов, так и нерабочую часть расчета стоимости доставки. Может ли проблема заключаться в неправильном способе использования innerHTML, в ошибке вычисления или в другой ошибке?
function calcST(){
var i;
var sum = 0; // initialize the sum
let p = document.getElementsByTagName("line_cost");
for (i = 0; i < p.length; i++) {
if (!isNaN(Number(p[i].innerHTML))) {
sum = Number(sum + Number(p[i].innerHTML)); // p[i].innerHTML gives you the value
}
}
setST(sum, "sub_total");
}
function setST(sum, item_id){
let i = document.getElementById(item_id);
i.innerHTML = sum;
calcDelivCharge();
}
function getST() {
let i = document.getElementById("sub_total");
let v = i.innerHTML;
return v;
}
function calcDelivCharge(){
var delCharge;
var e = getST();
if(e < 100){
delcharge = e*0.10
}else{
delcharge = 0;
}
setDelivCharge("delivery_charge", delCharge);
}
function setDelivCharge(item_id, delCharge){
let i = document.getElementById(item_id);
i.innerHTML = delCharge;
calculateTAX();
}
function getDelivCharge() {
let i = document.getElementById("delivery_charge");
let v = i.innerHTML;
return v;
}