使用已经给定的值自动计算

时间:2021-02-12 11:06:25

标签: javascript

我想在不使用 onblur 函数的情况下获得具有已计算值的费用值。

HTML 和 JS 代码段:

var initialcost = document.getElementById("initialcost");
var Tfee = initialcost - (initialcost * 5)/100;
document.getElementById("fee").value = +Tfee;
<input type="text" readonly="readonly" value="1000" id="initialcost">
<input type="text" readonly="readonly"  id="fee">

自动计算 id="initialcost" 中的只读值后显示 id="fee" 中的值

尝试此操作后,我没有得到任何结果 请帮忙

2 个答案:

答案 0 :(得分:2)

您正在尝试使用元素而不是其值来计算事物。

替换

var initialcost = document.getElementById("initialcost");

var initialcost = parseFloat(document.getElementById("initialcost").value);

自动重新计算启动示例:

var initialCostElement = document.getElementById("initialcost");
function compute() {
  var initialcost = parseFloat(initialCostElement.value);
  var Tfee = initialcost - (initialcost * 5)/100;
  document.getElementById("fee").value = +Tfee;
}

initialCostElement.addEventListener("input", compute, false);
compute();
<input type="number" value="1000" id="initialcost">
<input type="text" readonly="readonly"  id="fee">

答案 1 :(得分:0)

首先, 您在计算中使用的是 html 元素本身而不是其值。

使用:

 var initialcost = document.getElementById("initialcost").value;

此外,我会将两个变量中的“var”类型替换为“竞赛”,因为这是具有不变值的常量。 var 是一种更“老式”的方法,因为“let”和“const”是 js 语法的新添加, 祝你好运!

相关问题