1
resposta

Botão interagindo mesmo estando desativo

Mesmo como botão reiniciar desativo, ele interage e reinicia todo os numero

function sortear(){
    let campoQuantidade = parseInt(document.getElementById('quantidade').value);
    let campoDe = parseInt(document.getElementById('de').value);
    let campoAte = parseInt(document.getElementById('ate').value);

    let numerosSorteados = [];
    for (let i = 0; i < campoQuantidade; i++){
        let numero = obterNumeroAleatorio(campoDe, campoAte);
        
        while (numerosSorteados.includes(numero)){
            numero = obterNumeroAleatorio(campoDe, campoAte);
        }

        numerosSorteados.push(numero)

    }

    let resultado = document.getElementById('resultado');
    resultado.innerHTML = `<label class="texto__paragrafo">Números sorteados: ${numerosSorteados}</label>`;

    alterarStatusBotao();
}

function obterNumeroAleatorio(min, max){
    return Math.floor(Math.random() * (max - min +1)) + min;
}

function alterarStatusBotao(){
    let botaoReiniciar = document.getElementById('btn-reiniciar');
    
    botaoReiniciar.classList.contains('container__botao-desabilitado') ? (botaoReiniciar.classList.remove('container__botao-desabilitado'), 
    botaoReiniciar.classList.add('container__botao')) : (botaoReiniciar.classList.remove('container__botao'), botaoReiniciar.classList.add('container__botao-desabilitado'));

}

function reiniciar(){
    document.getElementById('ate').value = '';
    document.getElementById('quantidade').value = '';
    document.getElementById('de').value = '';
    document.getElementById('resultado') = '<label class="texto__paragrafo">Números sorteados:  nenhum até agora</label>';
    alterarStatusBotao();
}

Acima está meu código e queria saber se fiz algo diferente (tirando o uso do operador ternário, que usei para treinar). Desde já, agradeço

1 resposta

Fala José,tudo certo?

Pelo que pude reparar no seu código faltou colocar uma condicional na função de reiniciar. Se o botão conter a classe "container__botao-desabilitado", retorne. Ficaria algo assim:

function reiniciar(){
    if (botao.classList.contains("container__botao-desabilitado")){
        return;
    } else {
    document.getElementById('ate').value = '';
    document.getElementById('quantidade').value = '';
    document.getElementById('de').value = '';
    document.getElementById('resultado') = '<label class="texto__paragrafo">Números sorteados:  nenhum até agora</label>';
    alterarStatusBotao();}
}