当我仅插入折扣百分比和总金额输出时,应减去总金额并显示折扣金额,当我仅插入折扣金额时,它应该只减去总金额。
首次点击获得预期输出后,如果我再次点击它会再次减去总金额值。
如何防止这种情况或有其他方法可以解决此问题。
示例:
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 :(得分: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();'>