计算实时 javascript 值并传递给输入字段,而不是文本区域

Calculate real-time javascript value and pass to input field, not textarea

我有一个与这个非常相似的代码,执行计算并在文本区域字段中显示值。 我想知道如何将这些值传递给一个字段,如:

  <form role="form">
  <div class="form-group col-md-3">
  <label for="thingsId">Numbers of things</label>
  <input type="text" class="form-control" name="thingsName" id="thingsId"  >
  </div>

不是这个:

<td><textarea row="1" type="number" id="thingsId" name="thingsName"></textarea></td>

此代码使用完全相同的条件,但我想要一个不在文本区域中的结果

http://jsfiddle.net/1wrnL3jp/5/ 讨论话题:calculating form field input value from other values with onfocus

你的问题表述得很糟糕。

我查看了您的 fiddle,您正在设置文本区域的 innerHTML。您应该设置文本区域的值。请在 w3schools 或 mdn 上投入更多时间。

希望对您有所帮助,祝您好运!

已解决从 document.getElementById ('thingsID') 的更改。 InnerHTML 到 document.getElementById ('thingsID').value

示例中:

function myCalc() {
var num1 = document.getElementById('WG_Collected').value;
var num2 = document.getElementById('Proof').value;
var PG_Collected = parseFloat(num1) * parseFloat(num2)/100;
document.getElementById('PG_Collected').innerHTML = PG_Collected.toFixed(2);
}

document.getElementById("WG_Collected").addEventListener("change", myCalc, true);
document.getElementById("Proof").addEventListener("change", myCalc, true);

更改为:

function myCalc() {
var num1 = document.getElementById('WG_Collected').value;
var num2 = document.getElementById('Proof').value;
var PG_Collected = parseFloat(num1) * parseFloat(num2)/100;
document.getElementById('PG_Collected').value= PG_Collected.toFixed(2);//().value//
}

document.getElementById("WG_Collected").addEventListener("change", myCalc, true);
document.getElementById("Proof").addEventListener("change", myCalc, true);