Sobre o uso de If e Else

Olá, Estou fazendo uma atividade da facul, usando html, css e Js e estou com dificuldade no Jquery, preciso fazer uma página onde informa se a Pressão Arterial do usuário está ok, porem não estou conseguindo utilizar o If/else, da erro. Sou nova nisso, se alguém puder me ajudar

                   $(document).ready(function(){

$("#botao").click(function(){

                var resultado;
                var pressaoS; (aqui é a pressão Sistólica)
                 var pressaoD; (aqui é a pressão Diastólica)

                            if(pressaoS < 120) && (pressaoD < 80 ){
                              resultado = "Normal";
                            }
                            else if(pressaoS >= 120 && pressaoS <=129) && (pressaoD < 80){
                              resultado = " Elevada";
                            }
                            else if(pressaoS >= 130 || pressaoS <= 139) && (pressaoD >= 130 && <= 89){
                              resultado = " Hipertensão Estágio 1";
                            }
                            else if(pressaoS >= 140) && (pressaoD >= 90){
                              resultado = " Hipertensão Estágio 2";
                            }
                            else if(pressaoS >= 180) && (pressaoD > 120){
                              resultado = " Crise hipertensiva";
                            }
                            return resultado;
                        }
                          };


 Eu quero clicar no botão e ele me dizer como está a pressão da pessoa. Obrigada desde já!

Qual o erro?

Não consigo fazer com que o botão me retorne se a pressão esta baixa ou alto. Quero fazer com que o usuario digite a pressao sistólica e depois a diastólica e ele clique no botão e apareça como está a pressao do usuário. Meu if e else deve estar errado.

O erro é que você não atribui nenhum valor as variáveis.

            var resultado;
            var pressaoS; (aqui é a pressão Sistólica)
            var pressaoD; (aqui é a pressão Diastólica)

            if(pressaoS < 120) && (pressaoD < 80 ){

Você precisa fazer algo como:

 var pressaoS = $('#id_do_input_com_a_pressao_s').val(); //talvez seja preciso converter para número...

Obrigada, deu certo em relação que agora retorna como está a pressão, porem meu if e else estão errados, pois qualquer valor que eu coloque ele retorna “Normal”. Mas muito obrigada :smiley:

Provavelmente você precise converter os valores lidos para um tipo numérico.
Exemplo

Obrigada, porem meu problema está no if else, mas não consigo arrumar

Boa noite!
E aí @Joyce_Souza, tudo bem?!

Observe bem a maneira que você está usando a função click(). Essa função não tem retorno, ela apenas permite vincular um determinado(s) elemento(s) a um evento de click no(s) elemento(s) em questão, ou seja, depois que o evento de click foi capturado no elemento em questão essa função permite executar alguma lógica inserida no interior da mesma, permitindo que você execute ou dispare algum outro evento na sua página web.

Você saber mais sobre isso olhando a documentação dela: .click() | jQuery API Documentation


Para isso acontecer, você precisa definir alguma lógica de como apresentar as informações para o usuário do sistema, por exemplo atravéz da função alert().

Uma boa maneira e um exemplo de como resolver seu problema você pode encontrar aqui: return false from jQuery click event


Esse problema se deve dá pelo simples fato de você está usando o if incorretamente.

Observe a maneira correta. REF: JavaScript if else and else if

if ( condition ) {
} else {
}

o que você tem feito

if(pressaoS < 120) && (pressaoD < 80 ){
    resultado = "Normal";
 }

Que equivale a:

if ( condition ) ( condition ) {
} else {
}

Para resolver isso basta adicionar parênteses nas suas condições, por exemplo:

if ((pressaoS < 120) && (pressaoD < 80 )){
    resultado = "Normal";
 }

OBS.: Fazendo assim, você esta dando apenas uma única condição para o if/else, mas dividida em varias analises.

Abraços!

1 curtida