请输入一个有效值,最接近的两个有效值是?

新手上路,请多包涵

我的任务是制作重量计算器,但由于大学的限制,我无法使用所有标签,所以我编写的代码工作正常,但给我一个错误 please enter a valid value the two nearest valid value are ***number*** and ***number***

我认为这是因为 输入 标签中的 数字 属性,但我无法找到问题所在以及如何更正它。

如果我只计算一个转换输出在屏幕上闪烁,如果我在所有字段中都得到输出然后显示答案则消失,那么还有一个错误。

 <html>

<head>
  <title>Weight Convertor Calculator</title>
  <script>
    var z;
    var x;

    function converter() {
      if (document.weight.kg.value >= 1) {
        x = document.weight.kg.value;
        document.getElementById("g").value = x * 1000;
        document.getElementById("p").value = x * 2.2046;
        document.getElementById("m").value = x * 1000000;
        document.getElementById("ut").value = x * 0.0011023;
        z = 35.274 * x;
        document.getElementById("o").value = z;

      } else {
        window.alert("please enter any number greater than 0");
      }
    }
  </script>
</head>

<body bgcolor="#b3f0ff">
  <h1 align="center" style="color:#ff0066;"> Weight Calculator</h1>
  <br>
  <br>
  <form name="weight" method="post">
    <table align="center" style="color:#ff0066;">
      <tr>
        <td><b>Enter your weight in Kg:</b></td>
        <td><input type="number" id="kg" name="kilogram" placeholder="enter_any_number"></td>
      </tr>
      <tr>
        <td align="right"><input type="submit" value="Convert" onClick="converter(kg.value)"></td>
        <td><input type="reset"></td>
      </tr>
      <tr>
        <td align="right"><b>weight in Grams=</b></td>
        <td><input type="number" id="g" name="gram"></td>
      </tr>
      <tr>
        <td align="right"><b>weight in Pounds=</b></td>
        <td><input type="text" id="p" name="pound"></td>
      </tr>
      <tr>
        <td align="right"><b>weight in MilliGrams=</b></td>
        <td><input type="number" id="m" name="milligram"></td>
      </tr>
      <tr>
        <td align="right"><b>weight in US Ton=</b></td>
        <td><input type="text" id="ut" name="uton"></td>
      </tr>
      <tr>
        <td align="right"><b>weight in Ounces=</b></td>
        <td><input type="number" id="o" name="ounce"></td>
      </tr>
    </table>
  </form><br>
  <p align="center" style="color:#ff0066;"><b>NOTE: Enter only numerical
      value which is greater than 0</b></p>
</body>

</html>

原文由 shoaib sabir 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答
  1. 在数字输入中不允许使用片段,因此您需要使用文本输入。
  2. 您的表单将被提交:数据消失

在这里,您可以根据您的代码找到一个有效的 演示

原文由 bru02 发布,翻译遵循 CC BY-SA 4.0 许可协议

尝试将属性 step="any" 添加到您的 input 。那对我有帮助。

原文由 Jeremy Tammik 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题