1
resposta

Inicialização de lista vazia

Adicionei uma função para que a lista de tipo de ingresso inicie vazia.

window.onload = function() {
    document.getElementById('tipo-ingresso').value = '';
}

function comprar() {
    let tipo = document.getElementById('tipo-ingresso');
    let qtd = parseInt(document.getElementById('qtd').value);
    
    if (tipo.value == 'pista') {
        comprarPista(qtd);
    } else if (tipo.value == 'inferior') {
        comprarCadeiraInferior(qtd);
    }
    else {
        comprarCadeiraSuperior(qtd);
    }
}

function comprarPista(qtd) {
    let qtdPista = parseInt(document.getElementById('qtd-pista').textContent);
    if(qtd > qtdPista) {
        alert('Quantidade indisponível para tipo Pista');
    } else {
        qtdPista = qtdPista - qtd;
        document.getElementById('qtd-pista').textContent = qtdPista;
        alert('Compra realizada com sucesso');
    }
}

function comprarCadeiraInferior(qtd) {
    let qtdInferior = parseInt(document.getElementById('qtd-inferior').textContent);
    if(qtd > qtdInferior) {
        alert('Quantidade indisponível para tipo Cadeira Inferior');
    } else {
        qtdInferior = qtdInferior - qtd;
        document.getElementById('qtd-inferior').textContent = qtdInferior;
        alert('Compra realizada com sucesso');
    }
}

function comprarCadeiraSuperior(qtd) {
    let qtdSuperior = parseInt(document.getElementById('qtd-superior').textContent);
    if(qtd > qtdSuperior) {
        alert('Quantidade indisponível para tipo Cadeira Superior');
    } else {
        qtdSuperior = qtdSuperior - qtd;
        document.getElementById('qtd-superior').textContent = qtdSuperior;
        alert('Compra realizada com sucesso');
    }
}
1 resposta

Boa noite, Iago! Tudo bem com você?

Obrigado por compartilhar seu código com a comunidade Alura. Gostei de como você incluiu uma função para inicializar a lista de tipo de ingresso vazia. Isso garante que o sistema comece com um estado previsível, reduzindo erros inesperados.

Para tornar seu código ainda mais dinâmico, você pode explorar a adição de um validador que avise caso o tipo de ingresso não seja selecionado antes de prosseguir. Por exemplo:

function validarCompra() { 
    let tipo = document.getElementById('tipo-ingresso').value; 
    if (tipo === '') { 
        alert('Por favor, selecione um tipo de ingresso antes de continuar.'); 
        return false; 
    } 
    return true; 
}

O código acima verifica se o campo está vazio antes de executar a lógica de compra, exibindo uma mensagem de alerta ao usuário.

Conte com o apoio do Fórum na sua jornada.

Abraços e bons estudos!