我想在不使用 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"
中的值
尝试此操作后,我没有得到任何结果 请帮忙
答案 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 语法的新添加, 祝你好运!