繁体   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