我对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>
我有一种感觉,我的功能中的总变量就是我搞砸了。在此先感谢您的帮助!!
答案 0 :(得分:2)
这部分没有意义:
total = parseInt(inPrice += accountBalance);
需要accountBalance
(0
),将其附加到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;
}