如何计算两个输入字段并在输入元素中显示总计

How to calculate two input fields and have the total display within an Input Element

我正在尝试将两个输入字段相乘并将结果显示在总输入元素中。有人可以告诉我这段代码中我的问题在哪里吗:

var amount = document.getElementById("amount").value;
var amount = parseInt(amount, 10);
var quantity = document.getElementById("quantity").value;
var quantity = parseInt(quantity, 10);
var total = amount * quantity;
document.getElementById("total").innerHTML = total;
Amount: <input type="number" id="amount" name="amount">
<br> Quantity: <input type="number" id="quantity" name="quantity">
<br> Total: <input type="number" id="total" name="total">

使用 document.getElementById("total").value 而不是 document.getElementById("total").innerHTML = total。此外,您需要在特定事件上触发您的代码。在这里,我刚刚将其设置为在用户使用两个输入字段上的 oninput="calc()" 属性向任一输入字段输入值时触发:

function calc() {
  var amount = document.getElementById("amount").value;
  var amount = parseInt(amount, 10);
  var quantity = document.getElementById("quantity").value;
  var quantity = parseInt(quantity, 10);
  var total = amount * quantity;
  document.getElementById("total").value = total;
}
Amount: <input type="number" id="amount" name="amount" oninput="calc();">
<br> Quantity: <input type="number" id="quantity" name="quantity" oninput="calc();">
<br> Total: <input type="number" id="total" name="total">

可能您需要将事件绑定到按钮(单击)或输入元素(输入)

在这个例子中,一个按钮触发了计算。

这里调整如下:

  1. 对输入表单元素使用属性 .value
  2. 使用对象 Number 或加号 + 转换为数字。
  3. 验证输入的值(由您决定)。

document.getElementById('calculate').addEventListener('click', function() {
  var amount = document.getElementById("amount").value;
  var amount = +amount;
  var quantity = document.getElementById("quantity").value;
  var quantity = +quantity;
  var total = amount * quantity;
  document.getElementById("total").value = total;
});
Amount: <input type="number" id="amount" name="amount">
<br> Quantity: <input type="number" id="quantity" name="quantity">
<br>
<br> <input id='calculate' type='button' value='Calculate'>
<br>
<br> Total: <input type="number" id="total" name="total">

你应该添加一个函数,并在输入变化时调用它 所以尝试使用 oninput 事件 并将 document.getElementById("total").innerHTML = total; 更改为 document.getElementById("total").value = total;

<html><head></head><body>
Amount: <input type="number" oninput="calculate()" id="amount" name="amount">
<br>
Quantity: <input type="number" oninput="calculate()" id="quantity" name="quantity">
<br>
Total: <input type="number" id="total" name="total">

    
 <script>
  function calculate(){
   var amount = document.getElementById("amount").value;
   var amount = parseInt(amount, 10);
   var quantity = document.getElementById("quantity").value;
   var quantity = parseInt(quantity, 10);
   var total = amount * quantity;
   document.getElementById("total").value = total;
  }
 </script>
</body>
</html>

 function compute() {
        var p = document.getElementById("principal").value;
        var r = document.getElementById("rate").value;
        var t = document.getElementById("time").value;
        var answer = (p * r * t) / 100;
        document.getElementById("answer").value = answer;
    }