我正在尝试创建一个执行以下操作的计算器。
接受长度,宽度和高度值。
将宽度乘以12,因为它需要转换为英尺。
然后将长度宽度和高度相乘并除以 27。
然后应在文本框中显示该总数。然后我想把它作为一个总计,但这就是我遇到问题的地方。由于某种原因,它只添加一次然后停止。
var wallTotal = 0;
function addWall() {
var inHeight = document.getElementById("inHgt").value
var inWidth = document.getElementById("inWid").value
var inLength = document.getElementById("inLen").value
inWidth = inWidth / 12
wallTotal = (parseFloat(inHeight * inWidth * inLength) / 27);
document.getElementById("outWall").value = wallTotal;
}
<h1>House</h1>
<form id="form2" name="form2" method="post" action="">
<p>Height: <input type="text" name="inHgt" id="inHgt" /></p>
<p>Width: <input type="text" name="inWid" id="inWid" /></p>
<p>Length: <input type="text" name="inLen" id="inLen" /></p>
<p>Cubic Yards of Concrete: <input type="text" name="outWall" id="outWall" /></p>
</form>
<p>
<input type="button" id="addIn" value="Add That Wall" onclick="addWall()" />
</p>
答案 0 :(得分:2)
您遇到的问题是,每次wallTotal
函数运行时,您都会覆盖addWall()
。您只需要添加到总数中:
wallTotal += (parseFloat(inHeight*inWidth*inLength)/27);
请注意+=
运算符,它是:
wallTotal = wallTotal + (parseFloat(inHeight*inWidth*inLength)/27);