Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Qual erro do meu código, ele não aparece nada no console e não aponta nenhum erro

<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Meus pacientes</title>
        <link rel="stylesheet" type="text/css" href="reset.css">
        <link rel="stylesheet" type="text/css" href="alura.css">
        <script src="calcula-imc.js"></script>
    </head>
    <body>

        <header>
            <div class="container">
                <h1>Meus pacientes</h1>
            </div>
        </header>
        <main class="container">
            <section>
                <h2>Meus pacientes</h2>
                <table>
                    <tr>
                        <th>Nome</th>
                        <th>Peso(kg)</th>
                        <th>Altura(m)</th>
                        <th>IMC</th>
                    </tr>

                    <tr class="paciente">
                        <td class="info-nome">Leonardo</td>
                        <td class="info-peso">57</td>
                        <td class="info-altura">1.67</td>
                        <td class="info-imc"></td>
                    </tr>
                    <tr class="paciente">
                        <td class="info-nome">Roberto</td>
                        <td class="info-peso">100</td>
                        <td class="info-altura">2.00</td>
                        <td class="info-imc"></td>
                    </tr>
                    <tr class="paciente">
                        <td class="info-nome">Monica</td>
                        <td class="info-peso" id="peso-3">68</td>
                        <td class="info-altura" id="altura-3">1.68</td>
                        <td class="info-imc"></td>
                    </tr>

                </table>
                <button id="calcula-imcs" class="botao ">Calcular Imcs</button>
            </section>
            <section>
                <h2>Adicionar novo paciente</h2>    
                <form>
                    <fieldset>
                        <label for="nome">Nome:</label>
                        <input id="campo-nome" type="text" placeholder="digite o nome do seu paciente">
                    </fieldset>
                    <fieldset class="campo-medio">
                        <label for="peso">Peso:</label>
                        <input id="campo-peso" type="text" placeholder="digite o peso do seu paciente">
                    </fieldset>
                    <fieldset class="campo-medio">
                        <label for="altura">Altura:</label>
                        <input id="campo-altura" type="text" placeholder="digite a altura do seu paciente">
                    </fieldset>
                    <button id="adicionar-paciente" class="botao bto-principal">Adicionar</button>
                </form>
            </section>
        </main>

    </body>

</html>
var trsPacientes = document.getElementsByClassName("paciente");



for (posicaoAtual = 0 ; posicaoAtual <= trsPacientes.length - 1 ; posicaoAtual++) {

var pacienteTr = trsPacientes[posicaoAtual];

var tdNome = pacienteTr.getElementsByClassName("info-nome")[0];
var tdPeso = pacienteTr.getElementsByClassName("info-peso")[0];
var tdAltura = pacienteTr.getElementsByClassName("info-altura")[0];


var paciente = {nome : tdNome.textContent, peso : tdPeso.textContent, altura : tdAltura.textContent};


if(paciente.altura != 0){
    var imc = paciente.peso / (paciente.altura * paciente.altura);

    var tdImc = pacienteTr.getElementsByClassName("info-imc")[0];
    tdImc.textContent = imc;

    console.log(imc);
}else{
    console.log("Não posso executar uma divisão por 0!");

}
}
3 respostas

Olá Diego,

se você se refere a 'não acontecer nada' quando o botão adicionar é clicado, provavelmente é porque não há nenhuma ação associada a esse botão no seu código JS, Creio que nas próximas aulas do curso o professor ensina.

Att,

Mas não deveria aparecer no console o calculo do IMC? Ele não está aparecendo!

solução!

Olá Diego,

Tenta chamar seu arquivo js após a tag </main>. Seu arquivo está sendo carregado antes do HTML e provavelmente faça com que ele não encontre os elementos sendo chamados através das funções. Como o Javascript é uma linguagem interpretada se ocorrer algum erro durante a leitura do código, ele não executará mais nenhum comando.