台灣最大程式設計社群網站
線上人數
1225
 
會員總數:246631
討論主題:190057
歡迎您免費加入會員
討論區列表 >> Java Script/ Node.js >> 總計金額的輸入方塊無法正常顯示 radio 搭配input text box
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
總計金額的輸入方塊無法正常顯示 radio 搭配input text box
價值 : 100 QP  點閱數:1241 回應數:3
樓主

大雄
門外漢
0 42
1140 84
發送站內信

各位學長,想請教,在chrome 能正常,但ie的小計會顯示nan
設計說明:金額*數量*稅率=小計
當我輸入完金額及數量,然後點含稅之後顯示是正常的(如果不點含稅的話一樣nan,但chrome正常)
當我輸入完金額及數量,然後點自行輸入8 (%)時,顯示nan
如果此時再點一下自行填的那個radio 的話,就能正常顯示
為什麼在ie上,一定要點一下radio 那個鈕之後才會有動作,chrome為正常
有什麼方法可以改正呢…

程式碼如下:
<script language="JavaScript" type="text/JavaScript">
function changeAmount(price1,quantity1,rate1,ratevalue){
if (rate1==0){
f1.stotal1.value=Math.floor((price1*quantity1)*100*(ratevalue/100+1)+0.5)/100;
}
else{
f1.stotal1.value=Math.floor((price1*quantity1)*100*rate1+0.5)/100;
}
}

function changerateste(){
var rate_len = f1.rate1.length;
for (var i = 0 ; i < rate_len ; i++) {
if (f1.rate1[i].checked) {
f1.rate1[1].checked=true;
}
}
}
</script>
<form name=f1>
金額:<input type="text" name="price1" size="8" value="0" onkeyup="changeAmount(this.value,quantity1.value,rate1.value,rate1_value.value);">
數量:<input type="text" name="quantity1" size="8" value="1" onkeyup="changeAmount(price1.value,this.value,rate1.value,rate1_value.value);">
稅率:
<input type=radio name="rate1" value="1.05" onclick="changeAmount(price1.value,quantity1.value,this.value,rate1_value.value);" checked >含稅
<input type=radio name="rate1" value="0" onclick="changeAmount(price1.value,quantity1.value,this.value,rate1_value.value);">自行填
<input type=text size="1" name="rate1_value" onclick="changerateste();" onkeyup="changeAmount(price1.value,quantity1.value,rate1.value,this.value);">%
小計:<input type="text" name="stotal1" id="stotal1" size="8" disabled>
</form>

搜尋相關Tags的文章: [ radio ] , [ inputbox ] , [ 小計金額 ] , [ 加總 ] , [ 計算 ] ,
本篇文章發表於2014-11-02 16:30
1樓
回應

香帥
檢舉此回應
照html標準同名的radio,是無法判斷的喔
您的rate1同名缺少判斷checked,有checked的值才正確,請寫一個函數去抓同名的rate1所形成的陣列,被checked的radio的值吧
本篇文章回覆於2014-11-02 20:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

香帥
檢舉此回應
剛看到您有changerateste()判斷rate1,不過數值好像沒用另外變數存起來,等於無作用
建議改用jquery
傳入changeAmount的參數
rate1.value
改為
$('input[name="rate1"]:checked').val()
然後再試看看
本篇文章回覆於2014-11-03 00:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Wei Ching Ye
檢舉此回應
NaN 會有這樣的問題 表示 你拿不同資料型態 去做運算處理 建議你先將兩者運算的資料型態轉換為 double 去做浮點運算
本篇文章回覆於2014-11-04 18:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.