2
respostas

Problema com a validaçao da altura no formulario

var titulo = document.querySelector("h1");

titulo.textContent = "Aparecida Nutricionista"

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

for(var i = 0; i < pacientes.length; i++){

var paciente = pacientes[i];

var tdPeso = paciente.querySelector(".info-peso");

var peso = tdPeso.textContent;

var tdAltura = document.querySelector(".info-altura"); var altura = tdAltura.textContent;

var tdImc = paciente.querySelector(".info-imc");

var alturaHeValida = true; var pesoHeValida = true;

if(peso <=0 || peso >= 1000){ pesoHeValida = false; tdImc.textContent = "peso invalido"; paciente.classList.add("paciente-invalido");

}

if(altura <= 0 || altura >= 3.0){ alturaHeValida = false; tdImc.textContent = "altura invalida"; paciente.classList.add("paciente-invalido"); }

if(alturaHeValida && pesoHeValida){ var imc = calculaImc(peso,altura); tdImc.textContent = imc; } }

function calculaImc(peso, altura) {

var imc = 0;
imc = peso / (altura * altura);
return imc;

}

2 respostas

Coloca o código completo amigo dentro da estrutura para que possamos testa-lo aqui tambem e verificar os erros.

</head>
<body>

    <header>
        <div class="container">
            <h1>Aparecida Nutrição</h1>
        </div>
    </header>
    <main>
        <section class="container">
            <h2>Meus pacientes</h2>
            <table>
                <thead>
                    <tr>
                        <th>Nome</th>
                        <th>Peso(kg)</th>
                        <th>Altura(m)</th>
                        <th>Gordura Corporal(%)</th>
                        <th>IMC</th>
                    </tr>
                </thead>
                <tbody id="tabela-pacientes">
                    <tr class="paciente" id="primeiro-paciente" >
                        <td class="info-nome">Paulo</td>
                        <td class="info-peso">100</td>
                        <td class="info-altura">2.00</td>
                        <td class="info-gordura">10</td>
                        <td class="info-imc">0</td>
                    </tr>

                    <tr class="paciente">
                        <td class="info-nome">João</td>
                        <td class="info-peso">80</td>
                        <td class="info-altura">10881.72</td>
                        <td class="info-gordura">40</td>
                        <td class="info-imc">0</td>
                    </tr>

                    <tr class="paciente">
                        <td class="info-nome">Erica</td>
                        <td class="info-peso">54</td>
                        <td class="info-altura">1.64</td>
                        <td class="info-gordura">14</td>
                        <td class="info-imc">0</td>
                    </tr>

                    <tr class="paciente">

                        <td class="info-nome">Douglas</td>
                        <td class="info-peso">85</td>
                        <td class="info-altura">-84.73</td>
                        <td class="info-gordura">24</td>
                        <td class="info-imc">0</td>
                    </tr>
                    <tr class="paciente">
                        <td class="info-nome">Tatiana</td>
                        <td class="info-peso">46</td>
                        <td class="info-altura">1.55</td>
                        <td class="info-gordura">19</td>
                        <td class="info-imc">0</td>
                    </tr>
                </tbody>
            </table>

        </section>
    </main>
    <!-- ... -->

Adicionar novo paciente

Nome:
Peso:
Altura:
% de Gordura:
    <button id="adicionar-paciente" class="botao bto-principal">Adicionar</button>
</form>
    <script src=principal.js></script>  
     <script src=form2.js></script>  
</body>

var titulo = document.querySelector("h1");

titulo.textContent = "Aparecida Nutricionista"

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

for(var i = 0; i < pacientes.length; i++){ var paciente = pacientes[i];

var tdPeso = paciente.querySelector(".info-peso");

var peso = tdPeso.textContent;

var tdAltura = document.querySelector(".info-altura"); var altura = tdAltura.textContent;

var tdImc = paciente.querySelector(".info-imc");

var alturaHeValida = true; var pesoHeValida = true;

if(peso <=0 || peso >= 1000){ pesoHeValida = false; tdImc.textContent = "peso invalido"; paciente.classList.add("paciente-invalido");

}

if(altura <= 0 || altura >= 3.0){ alturaHeValida = false; tdImc.textContent = "altura invalida"; paciente.classList.add("paciente-invalido"); }

if(alturaHeValida && pesoHeValida){ var imc = calculaImc(peso,altura); tdImc.textContent = imc; } }

function calculaImc(peso, altura) {

var imc = 0; imc = peso / (altura * altura); return imc;

}