这里是我所要表达的内容。这段代码定义了一个函数来计算我需要的所有总数。
function getTotals() {
var input1 = document.getElementById("input1").nodeValue;
var input2 = document.getElementById("input2").nodeValue;
var input3 = document.getElementById("input3").nodeValue;
var input4 = document.getElementById("input4").nodeValue;
var input5 = document.getElementById("input5").nodeValue;
var subTotal = input1 + input2 + input3 + input4 + input5;
document.getElementById("subtotal").innerText = subTotal;
var total = (subTotal * 0.08875) + subTotal;
document.getElementById("total").innerText = total;
var item1 = document.getElementById("item-input1").nodeValue;
var item2 = document.getElementById("item-input2").nodeValue;
var item3 = document.getElementById("item-input3").nodeValue;
var item4 = document.getElementById("item-input4").nodeValue;
var item5 = document.getElementById("item-input5").nodeValue;
var itemTotal = item1 + item2 + item3 + item4 + item5;
document.getElementById("total-items").innerText = itemTotal;
}
因此,我建议您提出一些建议。首先,如果您试图将输入中的数字相加,则应从字符串解析为所需的值类型。例如:
var input1 = parseFloat(document.getElementById("input1").value);
但是更大的问题可能是您使用的是.nodeValue而不是.value。这是w3schools.com必须说的:“如果节点是元素节点,则nodeValue属性将返回null。”
nodeValue
返回string
nodeValue docs您可以尝试执行console.log(typeof item1)
当您将两个字符串加在一起时,+
运算符会进行字符串连接,因此您将字符串“ 123”添加到字符串“ 456”时会得到“ 123456”
要在示例中实际求和,您需要数字而不是字符串。您可以使用Number()
或仅在字符串+ '25'=== 25]前面加上+