在下面的程序中,我使用了 3 个 if 条件,但是中间的 if 语句不起作用,最后一个 if 语句工作正常,当我再次将第三个 if 语句更改为第二个语句时,第二个语句无法正常工作。 第三个 if 语句工作正常
function calculate() {
var quantity = document.getElementById("quantity").value;
var price = document.getElementById("price").value;
var discount = document.getElementById("discount").value;
var tax = document.getElementById("tax").value;
if((quantity && price ) != null) {
amount = quantity * price;
document.getElementById("amount").value = amount;
} else {
alert("price & tax required");
}
if(discount != null) {
var discount_amount = (quantity*price*discount)/100;
amount = (quantity*price) - discount_amount;
document.getElementById("amount").value = amount;
} else {
document.getElementById("amount").value = quantity * price;
}
if(tax != null) {
var tax_amount = (quantity*price*tax)/100;
amount = (quantity*price) + tax_amount;
document.getElementById("amount").value = amount;
} else {
document.getElementById("amount").value = quantity * price;
}
}
最佳答案
input.value
返回一个字符串,该字符串永远不会 null
,但它可以是空字符串,例如 ''
。
空字符串在数字上下文中转换为零。如果不需要,您需要进行显式检查,例如
if (input.value === '') {
return;
}
关于javascript - 第二个 if 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49856815/