我目前有一個javascript代碼,它在處理貨幣格式時計算總計爲只讀文本字段,即$ 500.00。我遇到的問題是,如果以貨幣格式(MinusSignNegative)(即$ 500.00)而不是 - $ 500.00輸入多個負數時如何處理計算。我目前在總計中發生NaN錯誤。用JavaScript處理貨幣格式的總計算(MinusSignNegative)
任何人都可以提供解決方案嗎?
<SCRIPT LANGUAGE="JavaScript">
<!--
function total(what,number) {
var grandTotal = 0;
for (var i=0;i<number;i++) {
if (what.elements['price' + i].value.replace(/\$|\,/g,'') == '')
what.elements['price' + i].value.replace(/\$|\,/g,'') == '0.00';
grandTotal += (what.elements['price' + i].value.replace(/\$|\,/g,'') - 0);
}
what.grandTotal.value = (Math.round(grandTotal*100)/100);
}
//-->
</SCRIPT>
<FORM NAME="myName">
Tax Due/Refund: <input TYPE="text" NAME="price0" VALUE="" SIZE="10" class='currency' onChange="total(this.form,3)"><BR>
Interest: <input TYPE="text" NAME="price1" VALUE="" SIZE="10" class='currency' onChange="total(this.form,3)"><BR>
Penalty: <input TYPE="text" NAME="price2" VALUE="" SIZE="10" class='currency' onChange="total(this.form,3)"><BR>
Total Amount Assessed: <INPUT TYPE="TEXT" NAME="grandTotal" class='currency' SIZE="25" READONLY="readyonly" style="background:#eee none; color:#222; font-weight:bold">
</FORM>
感謝您的答覆,但我如何將此解決方案應用到上面列出的函數總代碼中? – BvilleBullet
你可以把這個部分放在'for'循環中,就在if子句之上,改變'what.elements ['price'+ i] .value'的'field.value'並使用變量'fieldValue'而不是' what.elements ['price'+ i] .value'在其他行上。 – rcdmk
請參閱我的編輯您的問題。代碼應該是這樣嗎?我仍然得到該代碼的NaN錯誤。 – BvilleBullet