在Javascript中运行Total Concrete Cubic Yardage Calculator

时间:2016-12-07 05:31:03

标签: javascript html

我正在尝试创建一个执行以下操作的计算器。

  • 接受长度,宽度和高度值。

  • 将宽度乘以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>

1 个答案:

答案 0 :(得分:2)

您遇到的问题是,每次wallTotal函数运行时,您都会覆盖addWall()。您只需要添加到总数中:

wallTotal += (parseFloat(inHeight*inWidth*inLength)/27);

请注意+=运算符,它是:

的简写
wallTotal = wallTotal + (parseFloat(inHeight*inWidth*inLength)/27);