2017-06-09 50 views
0

當我僅插入折扣百分比和總金額輸出應該減去總金額並顯示折扣金額並且當我僅插入折扣金額時,它應該只減去總金額。合計金額在第一次點擊後再次下降

第一次點擊獲得預期輸出後,如果再次點擊,它會再次減去Total-Amount值。

我該如何防止這種情況發生,或者是否有其他方法可以解決此問題。

例如:

  • 情況1:折扣百分比6
    總-金額130和折扣-金額0
    輸出總-金額122.2和
    折扣-金額7.8
  • 情況2:折扣額30
    總額130和折扣百分比0
    輸出總額100和
    Discount-Amo UNT 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();'>

+0

爲什麼的onclick場的?爲什麼不是一個按鈕? – mplungjan

+0

var gt = document.getElementById('gtotal')。value;每次你點擊 – mplungjan

+0

我想你需要把'var gt = document.getElementById('gtotal')。value;'轉換爲'var gt = 0;' – mplungjan

回答

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();'>

+0

如果我從總金額文本框中調用該函數,解決這個問題 – nmaruti

相關問題