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

Por que quando eu clico no botão, toda a página é resetada?

Olá pessoal, creio que quando eu clicasse no botão, não era pra atualizar a página. o id do meu botão é 'botão', É normal? parece que não peguei a ideia direito. Abaixo segue meu javascript.

        <script>


            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 = paciente.querySelector(".info-altura");
                var altura = tdAltura.textContent;
                var tdImc = paciente.querySelector(".info-imc");
                var pesoEhValido = true;
                var alturaEhValida = true;
                var frase="";
                if (peso <= 0 || peso >= 1000) {
                    console.log("Peso inválido!");
                    pesoEhValido = false;
                    tdImc.textContent = "Peso inválido";
                    paciente.classList.add("paciente-invalido");
                }

                if (altura <= 0 || altura >= 3.00) {
                    console.log("Altura inválida!");
                    alturaEhValida = false;
                    tdImc.textContent = "Altura inválida";
                    paciente.classList.add("paciente-invalido");

                }

               if (alturaEhValida && pesoEhValido) {
                    var imc = peso / (altura * altura);
                    tdImc.textContent = imc.toFixed(2);

                }
             }

            //daqui pra baixo eu não entendi, mas esta rodando
            var botao = document.querySelector("#botao");
            function botaoHandler(){
                console.log("Botão Clicado!");
            }
            botao.addEventListener('click',botaoHandler);


        </script>insira seu código aqui
2 respostas
solução!

Boa tarde, Paulo! Como vai?

O seu botão é do tipo submit e está dentro de um formulário, correto? Em caso positivo, isso ocorre pois o comportamento padrão de um botão do tipo submit dentro de um formulário é recarregar a tela! Pra evitar isso, vc precisa prevenir o comportamento padrão como visto nessa aula! Dê uma olhada nela e veja se as coisas funcionam da forma como vc esperava!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Fala ai Paulo, tudo bem? Esse botão está dentro de um form? Se sim, ele vai atualizar a página porque o form deve ter sido submetido.

Para evitar esse comportamento padrão de formulários ao serem submetidos você pode fazer um .preventDefault(), dentro da função do botão ou mudar o tipo dele para button.

function botaoHandler(event){
    event.preventDefault()
    console.log("Botão Clicado!")
}

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software