2
respostas

[Sugestão] Bug no botão chutar

Olá pessoal.

Há um bug que permite clicar no botão chutar (por querer ou sem querer) mesmo com o input vazio, aumentando assim o número de tentativas sem de fato ter um número no campo input. Encontrei uma solução que resolve este problema, não sei se da melhor forma, mas começa com o botão chutar desabilitado(disabled) exigindo o preenchimento do input, assim que o usuário clica no botão chutar a função o desabilita novamente e somente é habilitando quando o usuário inserir novamente outro número.

function seInputVazio() {
  const input = document.querySelector('input');
  const botao = document.getElementById('chutar');
  input.addEventListener('input', function () {
    if (input.value.trim() === '' || isNaN(input.value)) {
      botao.setAttribute('disabled', true);
    } else {
      botao.removeAttribute('disabled');
    }
  });
}

Também inseri o metodo focus() no input dentro da função limpaCampo()

function limpaCampo() {
  chute = document.querySelector('input').value = ''
  document.querySelector('input').focus()
  document.getElementById('chutar').setAttribute('disabled', true);
};

E por fim chamei a função seInputVazio() na leitura do DOM desta maneira: document.addEventListener('DOMContentLoaded', seInputVazio);

Espero ajudar alguém, pois estava me incomodando o fato de permitir ser clicado mesmo com o input vazio. Se quiserem conferir o código no meu repositorio github

Abraços!

2 respostas

Olá, Daniel! Tudo bem?

Muito obrigado por compartilhar sua solução! Parece que você encontrou uma maneira eficiente de lidar com o problema do botão "chutar" sendo clicado com o input vazio.

Então, continue com o bom trabalho e não hesite em pedir ajuda sempre que precisar.

Bons estudos!

Olá Armando,

Obrigado, sigo estudando e evoluindo e é sempre bom compartilhar soluções.