Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erros de Referência a funções criadas em arquivos .js diferentes

Por algum motivo, não estou conseguindo referenciar algumas funções de validação contidas em arquivos .js separados.

Criei um arquivo que continha as funções de ler informação de um formulário e de validar essas informações, e até aí funcionava perfeitamente. Então resolvi criar um arquivo separado para colocar as funções de validação, para facilitar manutenção e leitura, mas a página agora não reconhece as funções declaradas nesse arquivo separado.

Pensei que pudesse ser a ordem de inclusão dos .js no html, mas inserir a página de validação dessa forma não adiantou:

<script scr="js/validacao.js"></script>
<script src="js/calculo-imc.js"></script>
<script src="js/form.js"></script>

A form.js chama funções da calculo-imc.js sem problemas. Mas por algum motivo a calculo-imc.js não consegue chamar as funções de validacao.js

Segue abaixo o código do arquivo calculo-imc.js:

var arrayPacientes = document.querySelectorAll(".paciente");

var length=arrayPacientes.length;
for(var i=0; i<length; i++){
    var tdPeso = arrayPacientes[i].querySelector(".info-peso");
    var tdAltura = arrayPacientes[i].querySelector(".info-altura");

    var peso = tdPeso.textContent;
    var altura = tdAltura.textContent;

    //cálculo do IMC se peso e altura forem válidos
    var isValid = false;
    var tdImc = arrayPacientes[i].querySelector(".info-imc");

    if(!validaPeso(peso)){        //-------essa função não é reconhecida
        tdImc.textContent = "Peso inválido";
    }
    else{
        if(!validaAltura(altura)){        //-------essa função não é reconhecida
            tdImc.textContent = "Altura inválida";
        }
        else{
            tdImc.textContent = calculaImc(altura, peso);
            isValid = true;
        }
    }

    if(!isValid){
       arrayPacientes[i].classList.add("paciente-invalido"); 
    }
}

function calculaImc(altura, peso){
    var imc = peso/(altura * altura);

    return imc.toFixed(2);
}

Já agradeço de antemão pela ajuda

1 resposta
solução!

Encontrei o erro... Adicionei no html com "scr" em vez de "src"....