Javascript:添加或减去运行总计

时间:2014-09-11 21:01:03

标签: javascript

我对Javascript很陌生,只有几个星期,而且我坚持做一些我认为很简单的事情。我搜索了几个小时,但找不到一个例子来指出我正确的方向。我基本上想要创造一个简单的" Running Balance"计算器。一个文本框具有输入(通过使用添加按钮添加),另一个文本框具有输出。输出应该根据我放入输入文本框的内容而改变,并继续添加到输出文本框中的值。

这是我在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>

我有一种感觉,我的功能中的总变量就是我搞砸了。在此先感谢您的帮助!!

2 个答案:

答案 0 :(得分:2)

这部分没有意义:

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;
}

答案 1 :(得分:1)

你已经混淆了一些变量 - 问题是你从来没有读过当前的余额而你每次都在重置总变量(除了混合整数和字符串)。这是一个没有总变量的版本:

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

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