Erro nas condicionais

Home Fóruns JavaScript Erro nas condicionais

Visualizando 2 respostas da discussão
  • Autor
    Posts
    • #66417
      Gabriel Drumond
      Participante

      Eu não sei o por quê, porém, independe do que eu escrever no <input>, o resultado sempre será ‘estrangeiro’. Alguém consegue me ajudar nessa?

      <!DOCTYPE html>
      <html lang="pt-br">
      <head>
          <meta charset="UTF-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Check Nacionalidade</title>
          <style>
              *{font-family: Arial, Helvetica, sans-serif;}
          </style>
      </head>
      <body>
          <h1>És brasileiro?</h1>
          <p>Nacionalidade: <input type="text" id="nacao"><input type="button" value="Validar" id="botao" onclick="validar()"></p>
          <div id="resultado">Resultado aqui</div>
      
          <script>
              function validar(){
                  var nacao = document.querySelector('input#nacao')
                  var res = document.querySelector('div#resultado')
      
                  res.innerText = 'Resultado: '
      
                  if (nacao != 'Brasil'){
                      res.innerText += 'Você é estrangeiro'
                  } else{
                      res.innerText += 'Você é brasileiro'
                  }
              }
          </script>
      </body>
      </html>
    • #66421
      IcaroFilho
      Moderador

      Boa tarde Gabriel,
      vc tem que comparar o valor do input a sua string. o JS tem a propriedade .value

      if (nacao.value != 'Brasil') {
      Contudo, ocorrerá um outro problema. E se o Usuário escrever brasil ao invés de Brasil.
      acontecerá da condição ser falsa (no seu caso, verdadeiro ja que esta utilizando “!=“)
      Para isso não ocorrer, faça a comparação ou com td maiúsculo ou tudo minúsculo pelo metodo .toUpperCase() ou .toLowerCase()
      if (nacao.value.toLowerCase() != 'brasil') {

      Espero ter ajudado,
      Bons estudos !

    • #66463
      Gabriel Drumond
      Participante

      Muito obrigado! Agora deu certo!

      Anteriormente, achava que o .value era apenas para valores numérico. Muito obrigado pelo suporte!!

Visualizando 2 respostas da discussão
  • Você deve fazer login para responder a este tópico.