我有代码,但问题是,当我减去总文本框值并提前文本框值等于平衡文本框时,我可以得到结果。但是在将balance textbox
减去值之后,函数不能是subtract balance textbox values with discount textbox value
?
当我减去总预付款和余额文本框中显示的值时,问题是我无法用折扣文本框值减去平衡文本框值?
我想要这样
总提前=平衡 - 折扣?
<script type="text/javascript">
function getObj(objID){
return document.getElementById(objID);
}
function C(){
getObj("balance").value=parseFloat(getObj("total").value)-
(parseFloat(getObj("advance").value)) ;
return false;
}
function D(){
getObj("balance").value=parseFloat(getObj("balance").value)-
(parseFloat(getObj("discount").value)) ;
return false;
}
</script>
<input type="text" name="total" id="total" />
<input type="text" name="advance" id="advance" />
<input type="text" name="balance" id="balance"
onfocus="return C();return D();" />
<input type="text" name="discount" id="discount" />
答案 0 :(得分:1)
试试这个:
修改:添加|| 0
以阻止NaN
<input type="text" name="balance" id="balance" onfocus="return C();" />
function C(){
var balanceValue = parseFloat(getObj("total").value || 0)-
(parseFloat(getObj("advance").value || 0)) ;
getObj("balance").value = parseFloat(balanceValue || 0) -
(parseFloat(getObj("discount").value || 0)) ;
return false;
}
答案 1 :(得分:0)
你需要使用||当NaN
时为0getObj = function (objID){
return document.getElementById(objID);
}
C = function () {
getObj("balance").value=parseFloat(getObj("total").value || 0)-
(parseFloat(getObj("advance").value || 0)) ;
return false;
}
D = function () {
getObj("balance").value=parseFloat(getObj("balance").value || 0)-
(parseFloat(getObj("discount").value)||0) ;
return false;
}