Javascript 如何在订单中实现if语句

Javascript 如何在订单中实现if语句,javascript,forms,if-statement,null,Javascript,Forms,If Statement,Null,我正在构建一个简单的订单表单,其中包含一些带有数字和隐藏字段的计算(用于电子邮件和自动回复) 当用户输入字段不是“0”时,我希望它计算总价中的交货成本。在下面的脚本中,即使用户字段不是“0”,交付成本始终返回“0” 如果我将该值更改为某个值,即使用户字段为“0”,它也会始终返回该值。因此,IF在某种程度上是错误的 /*从用户处获取值*/ 函数getAantal(){ var AantalBoek=document.getElementById('AantalBoek').value; var

我正在构建一个简单的订单表单,其中包含一些带有数字和隐藏字段的计算(用于电子邮件和自动回复)

当用户输入字段不是“0”时,我希望它计算总价中的交货成本。在下面的脚本中,即使用户字段不是“0”,交付成本始终返回“0”

如果我将该值更改为某个值,即使用户字段为“0”,它也会始终返回该值。因此,IF在某种程度上是错误的

/*从用户处获取值*/
函数getAantal(){
var AantalBoek=document.getElementById('AantalBoek').value;
var AantalCD=document.getElementById('AantalCD').value;
var AantalSoundtrack=document.getElementById('AantalSoundtrack')。值;
/*产品变量*/
var PrijsBoek=document.getElementById('PrijsBoek').value;
var PrijsCD=document.getElementById('PrijsCD').value;
var PrijsSoundtrack=document.getElementById('PrijsSoundtrack').value;
/*交付变量,配乐没有交付*/
/*在我的逻辑中,IF表示:如果用户为AantalBoek填写0,
然后VerzendingBoek是0而不是7。但是它总是返回0,即使AantalBoek是1*/
var VerzendingBoek=document.getElementById('VerzendingBoek').value;
如果(AantalBoek!==null&&AantalBoek!==''){
VerzendingBoek=0;
}
var VerzendingCD=document.getElementById('VerzendingCD').value;
如果(AantalCD!==null&&AantalCD!==''){
VerzendingCD=0;
}
/*产品总量的计算*/
var SubTotaalBoek=PrijsBoek*AantalBoek;
var Subtoalcd=PrijsCD*AantalCD;
var substatalsoundtrack=PrijsSoundtrack*AantalSoundtrack;
/*交付总额的计算*/
var TotaalVerzending=+VerzendingBoek++VerzendingCD;
/*最后总额的计算*/
var Totaal=+subtotalboek++subtotalalcd++subtotalsoundtrack++TotaalVerzending;
document.getElementById('Verzending')。value=TotaalVerzending;
document.getElementById('TotaalPrijs')。value=Totaal;
}

好的,我重新开始,再次查看if语句,发现语法错误,更改了条件并添加了else语句

更正的脚本如下:

function getAantal(){
var AantalBoek = document.getElementById('AantalBoek').value;
var AantalCD = document.getElementById('AantalCD').value;
var AantalSoundtrack = document.getElementById('AantalSoundtrack').value;

var PrijsBoek = document.getElementById('PrijsBoek').value;
var PrijsCD = document.getElementById('PrijsCD').value;
var PrijsSoundtrack = document.getElementById('PrijsSoundtrack').value;

var VerzendingBoek = document.getElementById('VerzendingBoek').value; 
/* Here I changed the condition: IF the user value is 0 then the delivery cost is 0, 
ELSE use the value that was already defined:*/
if(AantalBoek == 0) { VerzendingBoek = 0;
} else {VerzendingBoek = document.getElementById('VerzendingBoek').value;
}
var VerzendingCD = document.getElementById('VerzendingCD').value;
if(AantalCD == 0) { VerzendingCD = 0;
} else {VerzendingCD = document.getElementById('VerzendingCD').value;
}
/*for the second condition i corrected the syntax error !== to !=, 
IF delivery cost for Boek is not 0, then delivery cost for CD is 0*/
if (VerzendingBoek != 0) { VerzendingCD = 0;
}

var SubTotaalBoek = PrijsBoek * AantalBoek;
var SubTotaalCD = PrijsCD * AantalCD;
var SubTotaalSoundtrack = PrijsSoundtrack * AantalSoundtrack;

var TotaalVerzending = +VerzendingBoek + +VerzendingCD;

var Totaal = +SubTotaalBoek + +SubTotaalCD + +SubTotaalSoundtrack + +TotaalVerzending;

document.getElementById('Verzending').value=TotaalVerzending;
document.getElementById('TotaalPrijs').value=Totaal;
}

这些小片段有什么问题?谢谢你的回复。第二个和第三个代码段中的if语句不知何故不正确。当用户值为0时,交付成本仍然添加到总数中。请将所有信息(包括调试尝试)添加到问题中。我刚刚更改了问题。希望这对你来说更清楚。正如我所说,我是新来的,所以欢迎任何改进我写作的反馈。谢谢编辑。还请分享您的调试尝试。因此,如果你证明自己已经尝试过某件事,更有可能有人会帮助你。特别是如果您声明部件“不知何故不正确”,您应该解释为什么以及您试图解决这些问题的原因