2017-06-09 4 views
0

割引 - パーセンテージと合計金額のみを挿入すると、合計金額が減算され、割引金額が表示されます。割引金額のみを挿入すると合計金額。最初のオンクリック後に合計金額が再び減少する

最初にクリックすると出力が得られますが、もう一度クリックするとTotal-Amountの値が再び減算されます。

これを防ぐにはどうすればよいですか、またはこの問題を解決する他の方法がありますか。

例:

  • ケース1:割引パーセンテージ6
    総量130割引量0
    出力総量122.2及び
    割引量7.8
  • ケース2:割引額30
    合計金額130および割引率0
    出力総額100および
    ディスカウントアモここ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')。値;あなたが – 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

を私がtotal-amountテキストボックスから呼び出すと、この問題を解決するために – nmaruti

関連する問題