首次点击后,总金额值再次降低

时间:2017-06-09 17:17:07

标签: javascript

当我仅插入折扣百分比和总金额输出时,应减去总金额并显示折扣金额,当我仅插入折扣金额时,它应该只减去总金额。

首次点击获得预期输出后,如果我再次点击它会再次减去总金额值。

如何防止这种情况或有其他方法可以解决此问题。

示例:

  • 案例1:折扣百分比6
    总金额130和折扣金额0
    产出总金额122.2和
    折扣金额7.8
  • 案例2:折扣金额30
    总金额130和折扣百分比0
    输出总金额100和
    折扣金额30

function test() {
  var damount = document.getElementById('damount').value;
  var gt = document.getElementById('gtotal').value;
  if (damount == '0.00' || damount == '0') {
    dp = document.getElementById('dper').value;
    dsc = parseFloat((parseInt(dp) * parseFloat(gt)) / 100);
    document.getElementById('damount').value = dsc;
    damt = parseFloat(gt - dsc);
    document.getElementById('gtotal').value = damt;
  } else {
    damt = parseFloat(gt - damount);
    document.getElementById('gtotal').value = damt;
  }
}
Discount-Percentage <input type='text' value="0.00" id="dper"><br>
Discount-Amount     <input type='text' value="0.00" id="damount"><br>
Total-Amount        <input type='text' id='gtotal'><br>
<input type='text' onclick='test();'>

1 个答案:

答案 0 :(得分:0)

这是一个解决方案。如果您有任何问题,请发表评论

    var gt = 0;
    var once = true;
    function changeVal()
    {
    once = true;
    }
    function getTotAmount()
    {
      if(once)
      {
      gt=document.getElementById('gtotal').value;
      once = false;
      }
    }
    function test()
    {
        //var final_txt=document.getElementById('final_txt');
        var damount=document.getElementById('damount').value;
        
        if(damount=='0.00' || damount=='0')
        {
              dp=document.getElementById('dper').value;
              dsc=parseFloat((parseInt(dp)*parseFloat(gt))/100);
              document.getElementById('damount').value=dsc;
              damt=parseFloat(gt-dsc);
              document.getElementById('gtotal').value=damt;
        }
        else
        {
              damt=parseFloat(gt-damount);
              document.getElementById('gtotal').value=damt;
        }
        //final_txt.disabled = true;
    }
    Discount-Percentage <input type='text' value="0.00" id="dper" onclick="changeVal()"><br>
    Discount-Amount<input type='text' value="0.00" id="damount" onclick="changeVal()"><br>
    Total-Amount<input type='text' id='gtotal'><br>
    <input id="final_txt" type='text' onclick='getTotAmount();test();'>