首页 > 解决方案 > 带有增量的 IF 语句,并显示值

问题描述

我正在尝试从 中增加值id="wordcount"并将该值与现有值相加id="running-summary-total。当您增加 id="wordcountl" 中的值时,也会增加该值id="running-summary-total"并添加并显示该值id="running-summary-total"

<div>
    <strong class="fa fa-dollar-sign">$</strong>
    <input type="text" readonly="readonly" name="" id="running-summary-total" value="0.00">
</div>
<input class="form-control input-number" type="number" name="wordcount" value="" min="1" max="100000000000" id="wordcount">

脚本

 var z = document.getElementById("wordcount").value;
    console.log(z)
    if (++z) {
     var d = 30;
     var wc = d + 4;
   document.getElementById("running-summary-total").value =  +wc;
}

我不知道我在哪里做错了,因为脚本不起作用

标签: javascript

解决方案


由于您正在尝试编辑readonly输入,因此您首先需要删除 readonly 属性,然后才能进行任何更改。

这个问题本身很不清楚,d例如什么?

这是你将如何改变它的要点。请在下面发表评论并进行澄清,我可以为您更新。

function changeReadonlyInput(inpt) {
  console.log("new Value " + inpt.value);
  var total = document.getElementById("running-summary-total");
  total.readonly = false;
  var d = 30;
  var wc = d + 4;
  total.value = inpt.value + wc;
  total.readonly = true;
}

然后将该函数附加到oninput您的事件监听器上<input>,如下所示。

演示

function changeReadonlyInput(inpt) {
  console.log("new Value " + inpt.value);
  var total = document.getElementById("running-summary-total");
  total.readonly = false;
  var d = 30;
  var wc = d + 4;
  total.value = inpt.value + wc;
  total.readonly = true;
}
<div>
  <strong class="fa fa-dollar-sign">$</strong>
  <input type="text" readonly="readonly" name="" id="running-summary-total" value="0.00">
</div>

<input class="form-control input-number" type="number" name="wordcount" value="" min="1" max="100000000000" id="wordcount" oninput="changeReadonlyInput(this)">


推荐阅读