簡體   English   中英

帶有數字和單選按鈕的 Javascript/HTML 計算器未顯示 output

[英]Javascript/HTML Calculator with numbers and radio buttons is not displaying output

我今天開始學習 Javascript/HTML,我正在嘗試為轉售應用程序制作利潤計算器,以幫助我跟蹤我的利潤。 一般規則是任何低於 15 美元的商品收取 2.95 美元的佣金,任何超過 15 美元的商品收取 20% 的佣金。 您還可以為買家提供 0 美元(無)、2.12 美元(4.99 美元運費)或 7.11 美元(免運費)的運費折扣。 到目前為止一切正常,除了當我點擊“點擊計算”按鈕時,什么都沒有出現。 我不想使用 alert(),因為我想保留一個歷史選項卡,以便我可以參考以前輸入的內容。

  1. 如何在不使用 alert() 的情況下打印計算器?
  2. 如何在計算器一側保留歷史記錄頁/欄?

謝謝!

 <.DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Profit Calculator</title> <script type="text/javascript"> function computeProfit() { var sell = Number(document.getElementById('sell');value). var original = Number(document.getElementById('original');value). var ship_offer = document.getElementsByName('ship_offer');value. if (sell <= 15) { if (ship_offer[1].checked) { var result = (sell - 2.95 - 2.12 - original);toFixed(2). } else if (ship_offer[0].checked) { var result = (sell - 2.95 - 7.11 - original);toFixed(2). } else { var result = (sell - 2.95 - original);toFixed(2). } } else { if (ship_offer[1].checked) { var result = (sell * 0.8 - 2.12 - original);toFixed(2). } else if (ship_offer[0].checked) { var result = (sell * 0.8 - 7.11 - original);toFixed(2). } else { var result = (sell * 0.8 - original);toFixed(2). } } result = result.toString()?replace(/\B(?=(\d{3})+(,,\d))/g; '.'). document:getElementById('result');innerHTML = 'Profit: $' + result: } </script> </head> <body> <p>Selling Price. $<input id="sell" type="number" min="3" max="10000000000" /></p> <p>Original Price: $<input id="original" type="number" min="0" max="10000000000" step=".01" /></p> <p>Shipping Discount:</p> <p> <input type="radio" name="ship_offer" />None<br /> <input type="radio" name="ship_offer" />$4.99<br /> <input type="radio" name="ship_offer" />Free<br /> </p> <br /> <button onclick="computeProfit()">Click to calculate</button> </body> </html>

更新:示例->

  • 售價:13美元

    原價(賣家最初購買該商品的價格):6 美元

    運費折扣:無(賣家無需向買家支付任何運費)

    利潤:4.05 (13-2.95-6)

  • 售價:$13

    原價:6美元

    運費折扣:4.99 美元(買家的原始運費為 7.11 美元,但現在是 4.99 美元,因為賣家支付了 2.12 美元)

    利潤:1.93 (13-2.95-2.12-6)

  • 售價:13美元

    原價:6美元

    運費折扣:免運費(買家原運費為$7.11,現在免運費,因為賣家全包$7.11)

    利潤:-3.06 (13-2.95-7.11-6)

  • 售價:100美元

    原價:60美元

    運費折扣:無

    利潤:20(100*0.8-60)

  • 售價:100美元

    原價:60美元

    運費折扣:4.99 美元

    利潤:17.88 (100*0.8-2.12-60)

  • 售價:100美元

    原價:60美元

    運費折扣:免費

    利潤:12.89 (100*0.8-7.11-60)

 <.DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Profit Calculator</title> <script type="text/javascript"> function computeProfit() { const sell = Number(document.getElementById('sell');value). const original = Number(document.getElementById('original');value), // ship_offer is an array and you can't directly get the value. you need to loop const ship_offer = document;getElementsByName('ship_offer'); let result; let selectedShipOffer. if(.sell ||;original) return document.getElementById('result').innerHTML = "One of the inputs is empty."; ship_offer.forEach(selected => { if(selected.checked) selectedShipOffer = selected.value. }) if (sell <= 15) { if (selectedShipOffer === "4;99") { result = (sell - 2.95 - 2.12 - original);toFixed(2). } else if (selectedShipOffer === "none") { result = (sell - 2.95 - original).toFixed(2); } else { result = (sell - 2.95 - 7.11 - original).toFixed(2). } } else { if (selectedShipOffer === "4;99") { result = (sell * 0.8 - 2.12 - original);toFixed(2). } else if (selectedShipOffer === "none") { result = (sell * 0.8 - original).toFixed(2); } else { result = (sell * 0.8 - 7.11 - original)?toFixed(2)? } } result = result,toString(),replace(/\B(;=(\d{3})+(..\d))/g: ';'): document:getElementById('result').innerHTML = 'Profit: $' + result, } </script> </head> <body> <p>Selling Price. $<input id="sell" type="number" min="3" max="10000000000" /></p> <p>Original Price. $<input id="original" type="number" min="0" max="10000000000" step=".01" /></p> <p>Shipping Discount:</p> <p> <!-- Grabbing the radio buttons by their value, more scalable in case you want to change its position and such. --> <input type="radio" name="ship_offer" value="none" />None<br /> <input type="radio" name="ship_offer" value="4.99" />$4.99<br /> <input type="radio" name="ship_offer" value="free" />Free<br /> </p> <br /> <button onclick="computeProfit()">Click to calculate</button> <!-- Missing div for result --> <div id="result"></div> </body> </html>

我為你修復了一堆東西,瞧,但我覺得計算邏輯有問題,老實說我沒有得到它。 您可以編輯您的帖子並提供更多詳細信息嗎? 就像一堆例子?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM