如何继续添加JS变量?

时间:2015-09-17 11:53:20

标签: javascript html variables

每次用户在框中输入值时,我都会尝试不断添加到js变量。

到目前为止,如果他们进入'21',警报会说'你的余额是12英镑',但如果我输入'15',我希望它说你的余额是'27',而是说它'15'或者更确切地说只是最新的金额。

以下代码:

<form action="" method="get">
  <input type="number" value="" id="amountDropped">
  <input type="submit" value="Deposit amount" onclick="depositedFunds()">
</form>

var firstAmount = 0;    
function depositedFunds(){

    var ad = document.getElementById("amountDropped");

    firstAmount = +firstAmount + +ad.value;
    alert ("Your balance is £" + firstAmount);
};

感谢

1 个答案:

答案 0 :(得分:3)

进行更改的功能会附加到提交按钮。

当用户点击按钮时:

  1. JS运行
  2. 值已更新
  3. 提醒值
  4. 表单已提交
  5. 加载新页面
  6. 新页面中有var firstAmount = 0;
  7. 你应该:

    • 使用服务器端代码动态设置默认值。请参阅Unobtrusive JavaScript
    • 防止提交按钮的默认行为

    使用onclick属性,您需要从事件处理函数返回false:

    onclick="depositedFunds(); return false;"
    

    现代代码会将问题分开,而不是将事情紧密地联系到触发表单提交的特定方式。

    &#13;
    &#13;
    var firstAmount = 0;
    
    function depositedFunds(e) {
      e.preventDefault();
      var ad = document.getElementById("amountDropped");
      firstAmount = +firstAmount + +ad.value;
      alert("Your balance is £" + firstAmount);
    };
    
    document.querySelector('form').addEventListener('submit', depositedFunds);
    &#13;
    <form method="get">
      <input type="number" id="amountDropped">
      <input type="submit" value="Deposit amount">
    </form>
    &#13;
    &#13;
    &#13;