1

我有代码,但问题是当我减去总文本框值和高级文本框值等于平衡文本框时,我可以得到结果。但是在将减去的值带入balance textboxthen 函数后不能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" />
4

2 回答 2

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;
}  
于 2013-03-26T22:30:36.013 回答
0

您需要使用 || 0 当 NaN

getObj = 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;
}

查看交互式示例:http: //jsfiddle.net/pdejuan/FcTd9/

于 2013-03-26T22:36:19.433 回答