NaN 出现在计算中

NaN shows up in calculations

我卡在这个函数里了multiplyUsed()。 我想用两个复选框的条件来总结所有的框。 最后,如果我选中复选框 Quality,结果会显示 NaN。为什么会这样?这些值填写在 StaSta+.

框中

function sumUpUsedCar() {
  var standartUsedLoan = Number ( document.getElementById("standartUsed").value);
  var standartPlusUsed = Number ( document.getElementById("standartPlusUsed").value);
  var prUsedCompleted = document.getElementById("prUsedCompleted");
  var prUsedDoesntCompleted = document.getElementById("prUsedDoesntCompleted");
  if (prUsedCompleted.checked) {
    document.getElementById("sumUsedVehicle").innerHTML = (standartUsedLoan * Number(0.04)) + (standartPlusUsed * Number(0.065));
  } else {
    document.getElementById("sumUsedVehicle").innerHTML = (standartUsedLoan * Number(0.03)) + (standartPlusUsed * Number(0.045));
  }
}

function multiplyUsed() {
  var qualityCompleted = document.getElementById("qualityCompleted");
  var sumUpUsedC = Number (document.getElementById("sumUsedVehicle");

  if (qualityCompleted.checked) {
    document.getElementById("sumUsedVehicle").innerHTML = (sumUpUsedC * Number(0.03));
  }
}
<form>

  <label class="showLabel5" for="usedCar"><b>Sta</b></label>
  <input class="standartUsed" type="number" min="100000" max="100000000" id="standartUsed" onchange="sumUpUsedCar()">

  <label class="showLabel6" for="usedCar2"><b>Sta + </b></label>
  <input class="standartPlusUsed" type="number" min="100000" max="100000000" id="standartPlusUsed" onchange="sumUpUsedCar()">
</form>



<div class="usedVehicle2"><b>Additional </b></div>

<label class="container2" for="yes"><b> Yes</b>
   <input type="checkbox" class="input2" name="yes" id="prUsedCompleted" onclick="prUsedSelection(), sumUpUsedCar()">
    </label>

<label class="container2" for="no"><b> No</b>
     <input type="checkbox" class="input2" name="no" id="prUsedDoesntCompleted" onclick="prUsedSelection()">
    </label>


<div class="mainbox5">


  <div class="quality"><b> Quality</b></div>

  <label class="container3" for="yes"><b> Yes</b>
   <input type="checkbox" class="input3" name="yes" id="qualityCompleted" onclick="multiplyUsed()">
  </label>

  <label class="container3" for="no"><b> No</b>
 
   <input type="checkbox" class="input3" name="no" id="qualityDoesntCompleted">
   </label>

  <div class="overall"><b>overall:</b></div>

  <table class="tableOverall">



    <tr>
      <td></td>
      <td id="sumUsedVehicle"></td>

  </table>

在这一行

document.getElementById("sumUsedVehicle").innerHTML =  (sumUpUsedCar * Number(0.03));

sumUpUsedCar 是一个函数。您可能想要在那里进行函数调用 sumUpUsedCar()。将函数转换为数值时,根据乘法需要,其值为NaN.


编辑后,函数 multiplyUsed 中的表达式 document.getElementById("sumUsedVehicle").valueundefined,因为 DOM 元素没有 value 属性。使用

var sumUpUsedC = Number (document.getElementById("sumUsedVehicle").innerHTML);

相反。