Calculation with Javascript gives error

0

Well, my program does a lot of calculations, however there is one that does not work and I no longer have any ideas on how to solve it.

The calculations are these:

 function calculaResultado(x){        
        console.log(x);
        a = document.getElementById('avInicial' + x).value;
        b = document.getElementById('meta' + x).value;
        c = document.getElementById('avFinal' + x).value;

        let resultado = ((c*100)/b);

        if(b === c){
            resultado = 100; //100%
        } else if (a > c) {
            resultado = 0; // 0%
        } 
        else {
            resultado = parseInt(resultado);
        }

        document.getElementById('resultado' + x).value =  resultado; 

        calculaMediaFinal();
        ContaObjetivos();
        ContaConcluidos();
        Totalmente();
    }

    function calculaMediaFinal() {
      let soma = 0;
      let contador = 0;
      for (var i = 1; i <= 12; i++) { 
        if (document.getElementById('resultado' + i).value) {
          soma += parseInt(document.getElementById('resultado' + i).value, 10);
          contador++;
        }
      }
      var media = soma / contador;
      var inputCuboMedia = document.getElementById('ConcretizaObj');
      inputCuboMedia.value = parseInt(media, 10);
    }

    function ContaObjetivos(){
        let contador = 0;
        for (var i = 1; i <= 12; i++){
            if (document.getElementById('resultado' + i).value) {
          contador++;
        }
    }var inputCount = document.getElementById('ObjDefinidos');
    inputCount.value = parseInt(contador,10);
    }

    function ContaConcluidos(){
        let contador = 0;
        for (var i = 1; i <= 12; i++){
            if ((document.getElementById('resultado' + i).value) == 100) {
          contador++;
            } 
        }
        var inputAting = document.getElementById('ObjAtingidos');
        inputAting.value = parseInt(contador,10);
    }

    function Totalmente(){
         def = document.getElementById('ObjDefinidos');
         atin = document.getElementById('ObjAtingidos');


        var valor = atin / def;
        var inputdivisao = document.getElementById('TotalAlcancados');
        inputdivisao.value = parseFloat(valor, 10);
    }

The function that does not work is the last one: result is:

Can you see if they discover the reason for this NaN?

    
asked by anonymous 09.09.2018 / 02:05

1 answer

1

Failed to add .value when selecting elements:

def = document.getElementById('ObjDefinidos').value;
atin = document.getElementById('ObjAtingidos').value;

As it stands, you are only selecting the elements themselves, not their values.

    
09.09.2018 / 02:13