Oi, Carlos! Tudo bem?
Estamos tentando garantir que o valor do campo "de" seja sempre menor que o valor do campo "até". No entanto, o uso do while
nesse contexto está causando um loop infinito porque os valores dos campos são redefinidos dentro do loop, mas o usuário não tem a chance de corrigi-los.
Uma abordagem mais eficaz seria usar uma estrutura de controle condicional, como um if
, para verificar os valores e alertar o usuário, permitindo que ele corrija os campos sem entrar em um loop infinito. Aqui está um exemplo de como você pode fazer isso:
// Função para validar os campos
function validarCampos() {
let de = parseInt(document.getElementById('de').value);
let ate = parseInt(document.getElementById('ate').value);
if (de >= ate) {
alert('O campo "de" deve ser menor que "até"');
document.getElementById('quantidade').value = '';
document.getElementById('de').value = '';
document.getElementById('ate').value = '';
document.getElementById('resultado').innerHTML = '<label class="texto__paragrafo">Números sorteados: nenhum até agora</label>';
} else {
// Código para continuar o jogo
}
}
// Chame a função validarCampos quando necessário, por exemplo, ao clicar em um botão
document.getElementById('seuBotao').addEventListener('click', validarCampos);
Dessa forma, a função validarCampos
verifica se "de" é menor que "até" e, se não for, exibe um alerta e limpa os campos, permitindo que o usuário insira os valores corretos. Se os valores estiverem corretos, o código para continuar o jogo pode ser executado.
Espero ter ajudado!
Um forte abraço e bons estudos!