Javascript:单击按钮时向输入字段添加小数

问题描述 投票:0回答:1

我有以下代码:

document.getElementById("decimal").addEventListener("click", () => {
  if (!inputBox.value.includes(".")) {
    inputBox.value += ".";
  }
});
<body>
  <div class="calculator">
    <input type="number" id="inputBox" placeholder="0">
    <div>
      <button class="decimal" id="decimal">.</button>
    </div>
  </div>
  <script src="script.js"></script>
</body>

当我向按钮添加事件监听器时,小数点应显示为输入字段中的最后一个字符。但是,由于它设置为 type="number",因此该函数会完全重置输入字段。

如何在不重置输入字段值的情况下添加小数?

我已经尝试将输入字段的类型更改为“文本”,但用户可以在输入字段中输入字母值,这是我不想要的。

javascript html input decimal calculator
1个回答
0
投票

为输入添加步骤属性

step=0.001
,然后使用
value += '.0'
将其变为小数。

document.getElementById("decimal").addEventListener("click", () => {
  if (!inputBox.value.includes(".")) {
    inputBox.value += ".0";
  }
});
<body>
  <div class="calculator">
    <input type="number" id="inputBox" placeholder="0" step="0.001">
    <div>
      <button class="decimal" id="decimal">.</button>
    </div>
  </div>
  <script src="script.js"></script>
</body>

© www.soinside.com 2019 - 2024. All rights reserved.