就想躺平啦 2023-09-20 23:44 采纳率: 0%
浏览 179

JavaScript金额找零系统

换算的结果出现一秒就返回原来的样子了,想请教这个问题要咋解决呀T-T
题目是:基于Java Web利用JavaScript编写一个金额找零的系统,用输入框输入一个整数,表示找零的数量,数值为1~100。假如系统中有50、20,10、5,1 这5种面额的纸币,显示每种纸币应该找的数量。
代码如下:

<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->    
  </head>
  <body>
     <script>
       function calculate(){
          var amount = document.getElementById('amount').value;
          var denominations = [50,20,10,5,1];
          var count = []; 
          for (var i = 0; i < denominations.length; i++) {
            count[i] = Math.floor(amount / denominations[i]);
            amount %= denominations[i];
        }
        var result = document.getElementById('result');
        result.innerHTML = "<h2>金额找零结果</h2>";
        for (var i = 0; i < denominations.length; i++) {
            if (count[i] > 0) {
                result.innerHTML += denominations[i] + "元:" + count[i] + "张<br>";
            }
        }
    }
    </script>
    <h1>金额找零系统</h1>
    <form>
        请输入要找零的金额(1~100):
        <input type="text" id="amount">
        <button onclick="calculate()">计算</button>
    </form>
    <div id="result"></div>
  </body>
</html>

就是会从图1跳成图2,但是显示结果1秒就跳回图1了,不清楚是什么问题导致的
图1:

img


图2:

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-21 08:31
    关注

    【以下回答由 GPT 生成】

    这个问题很容易解决,你只需要在代码中添加一行代码即可。

    你可以在最后的计算结果那一行,将结果赋值给一个HTML元素,例如一个<div>元素。这样,结果就会显示在页面上,并且不会一闪而过。

    下面是修改后的代码示例:

    <html>
      <head>
        <base href="<%=basePath%>">
    
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--<link rel="stylesheet" type="text/css" href="styles.css">-->    
      </head>
      <body>
         <script>
           function calculate(){
              var amount = document.getElementById('amount').value;
              var denominations = [50, 20, 10, 5, 1];
              var count = []; 
              for (var i = 0; i < denominations.length; i++) {
                count[i] = Math.floor(amount / denominations[i]);
                amount %= denominations[i];
              }
              var result = "50元:" + count[0] + "张,20元:" + count[1] + "张,10元:" + count[2] + "张,5元:" + count[3] + "张,1元:" + count[4] + "张";
              document.getElementById('result').innerText = result;
           }
         </script>
         <label>找零金额:</label>
        <input type="text" id="amount">
        <button onclick="calculate()">计算找零</button>
        <div id="result"></div>
      </body>
    </html>
    

    在上面的代码中,我添加了一个<div id="result"></div>元素,它将用于显示计算结果。在calculate函数中,我将计算得到的结果赋值给result变量,并通过innerText属性将结果显示在<div>元素中。

    这样,你就可以在页面上看到计算结果了。希望这对你有帮助!


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 9月20日