Я могу отобразить значение суммы 6 элементов DOM с именем тега "line_cost" - это отображается как промежуточный итог (рассматривается как методы "ST"). К сожалению, при динамическом расчете стоимости доставки с использованием значений промежуточного итога я постоянно получаю «неопределенное» значение, отображаемое на вкладке стоимости доставки, в то время как промежуточный итог работает отлично.
Я подумал, что проблема возникла из-за того, что DOM не загружается полностью до вызова метода, но даже с решением if(document.getElementById("sub_total") != null)
я все равно получаю неопределенное значение. В чем может быть проблема для этого неопределенного значения происходит?
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()
{
if (document.getElementById("sub_total") != null)
{
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;
}