【发布时间】:2018-09-26 03:56:04
【问题描述】:
在下面的程序中,我使用了 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;
}
}
【问题讨论】:
-
有什么问题?比如,什么不起作用。它应该做什么,它没有做什么? js 控制台说什么?
-
你能把你的 HTML 也放在你的问题中吗?
-
尝试 document.write(discount) 以查看折扣值以确保它不为空
-
@StuiterSlurf 请不要建议
document.write(),因为它会在擦除页面内容时混淆问题。console.log()非常适合快速调试。我什至更喜欢alert()而不是document.write()!!! -
就像 Nina 指出的,Javascript 中的字符串是字符串,null 是不同的类型。空字符串等于
"",不为空。但是,如果您确实希望空字符串为空,您也可以这样做 ->var quantity = document.getElementById("quantity").value || null
标签: javascript