在您的小提琴中collection
,是包含selectCD
输入字段的 div(不是输入字段)。你不能这样做。divElm.value
然后,您小提琴中的 php 代码通常能够输出多于一张 cd,因此您需要将所选 cd 的总数添加到。
使您的代码正常工作所需的最小更改是:
function calculateTotal(){
var coll = document.getElementsByName('deliveryType'),
cds = document.getElementsByName('cd[]'),
cdTot = 0,
L = coll.length;
while(L--){if(coll[L].checked){ //get shipping costs
coll=Number(coll[L].getAttribute('title')); break;
} }
L=cds.length;
while(L--){if(cds[L].checked){ //add total prices
cdTot += Number(cds[L].getAttribute('title'));
} }
// output total
document.getElementById('total').value = coll + cdTot;
}
此外,您还想设置更多触发器来运行calculateTotal
(来自运费和选定的 cd;这样,如果它们发生变化,总字段将更新为)。
根据您的小提琴查看这些更改(和一些其他修复)的工作小提琴,这样您就可以在实际中看到它(计算)。
但是,我确实希望这是针对学校问题而不是针对实时网店。我会重新考虑我的策略,因为我认为您目前正在努力解决一个大的安全漏洞。
祝你好运!