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

[Dúvida] A função limparCampo não esta funcionando

let numeroSecreto = gerarNumeroAleatorio();
let tentativas = 1;

function exibirTextoNaTela(tag, texto) {
    let campo = document.querySelector(tag);
    campo.innerHTML = texto;  
}

exibirTextoNaTela('h1', 'Jogo do número secreto');
exibirTextoNaTela('p', 'Escolha um número entre 1 e 10');

function verificarChute() {
    let chute = document.querySelector('input').value;
    console.log(chute == numeroSecreto);
if (chute == numeroSecreto) {
  exibirTextoNaTela ('h1', 'Acertou!' );
  let palavraTentativa = tentativas > 1 ? 'tentativas' : 'tentativa';
let mensagemTentativas = `Você descobriu o número secreto com ${tentativas} ${palavraTentativa}!`;
  exibirTextoNaTela ('p', mensagemTentativas);
limparCampo();
} else {
  if (chute > numeroSecreto) {
    exibirTextoNaTela('p', 'O número secreto é menor');
  } else {
exibirTextoNaTela('p', 'O número secreto é maior');
  }
  tentativas++;
  limparCampo();
}
}  
function gerarNumeroAleatorio() {
  return parseInt(Math.random() * 10 + 1);
}
function limparCampo() {
  chute = document.querySelector('imput');
chute.value = '';
}

Não estou conseguindo identificar um possível erro no meu código para a função não funcionar.

2 respostas
solução!

O erro está na função limparCampo(), na linha 54:

chute = document.querySelector('imput');

O erro ocorre porque você está usando 'imput' ao invés de 'input'. O correto é:

chute = document.querySelector('input');

Explicação:

A função limparCampo() é responsável por limpar o campo de entrada (input) após cada tentativa.
Você está usando document.querySelector('imput') para selecionar o elemento de entrada. No entanto, o nome correto do elemento é input, não imput.
Ao corrigir a linha 54 para document.querySelector('input'), você estará selecionando o elemento de entrada corretamente e limpando o seu valor.

Para corrigir o erro, faça a seguinte alteração na linha 54 da sua função limparCampo():

chute = document.querySelector('input');

Após essa correção, a função limparCampo() deverá funcionar corretamente, limpando o campo de entrada após cada tentativa.

Muito obrigado pela luz, realmente funcionou... :)