Javascript:对运行总数进行加法或减法运算

Javascript: Add or Subtract to running total

本文关键字:运算 运行 Javascript      更新时间:2023-09-26

我对Javascript还很陌生,只有几周的时间,我一直在做一些我认为很简单的事情。我已经找了好几个小时了,但找不到一个能给我指明正确方向的例子。我基本上想创建一个简单的"跑步平衡"计算器。一个文本框有输入(使用添加按钮添加),另一个文本盒有输出。输出应该根据我在输入文本框中输入的内容而变化,并不断添加到输出文本框中的值中。

这是我在Javascript中的代码:

var accountBalance = 0;
function addBalance()
{
    var inPrice = document.getElementById("inAmt").value 
    total = parseInt(inPrice += accountBalance);        
    document.getElementById("outBalance").value = total;
}

和HTML:

<form id="form2" name="form2" method="post" action="">
<p>
Enter an amount: 
<input type="text" name="inAmt" id="inAmt" />
</p>
<p>
Display Balance:: 
<input type="text" name="outBalance" id="outBalance" />
</p>
</form>
<p><input type="button" id="addBal" value="Add the amount to the balance" onclick="addBalance()"/></p>

我有一种感觉,我函数中的总变量就是我搞砸了什么。提前感谢您的帮助!!

这部分实际上没有意义:

total = parseInt(inPrice += accountBalance);

它获取accountBalance0),将其附加到inPrice(因为inPrice是字符串),将值存储回inPrice,将结果解析为整数,并将total设置为该整数。你似乎需要的恰恰相反,那就是:

  • 解析inPrice,使其成为数字而不是字符串
  • 将其添加到accountBalance,并将结果存储在accountBalance
  • 将新的accountBalance放在total中(或者先使用accountBalance

或者,在JavaScript:中

var accountBalance = 0;
function addBalance() {
    var inPrice = parseInt(document.getElementById("inAmt").value, 10);
    accountBalance += inPrice;
    document.getElementById("outBalance").value = accountBalance;
}

您混淆了一些变量-问题是您从未读取当前余额,而且每次都在重置总变量(除了混合int和字符串)。这是一个没有总变量的版本:

function addBalance()
{
    var inPrice = document.getElementById("inAmt").value 
    accountBalance += parseInt(inPrice, 10);        
    document.getElementById("outBalance").value = accountBalance;
}

请在此处查看:http://jsfiddle.net/fdureo1s/