1
resposta

Desafio 1.

function comprar() {
    let tipo = document.getElementById('tipo-ingresso');
    let qtd = parseInt(document.getElementById('qtd').value);
    verificarNumPositivo();
    if (tipo.value == 'pista') {
        comprarPista(qtd);
    }else if (tipo.value == 'superior'){
        comprarSuperior(qtd);
    }else {
        comprarInferior(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 comprarSuperior(qtd) {
    let qtdSuperior = parseInt(document.getElementById('qtd-superior').textContent);
    if (qtd > qtdSuperior) {
        alert('A quantidade de cadeira superior está indisponível.');
    } else {
        qtdSuperior = qtdSuperior - qtd;
        document.getElementById('qtd-superior').textContent = qtdSuperior;
        alert('Compra realizada com sucesso!');
    }
}

function comprarInferior(qtd) {
    let qtdInferior = parseInt(document.getElementById('qtd-inferior').textContent);
    if (qtd > qtdInferior) {
        alert('Quantidade indisponível!');
    } else {
        alert('Compra realizada com sucesso, bom show!');
        qtdInferior = qtdInferior - qtd;
        document.getElementById('qtd-inferior').textContent = qtdInferior;
    }
}

function verificarNumPositivo() {
    if (qtd.value <= 0) {
        alert('Número inválido, tente novamente!');
        return;
    } 
    
}

Fazendo o código assim consegui validar que o número não é positvo e apareceu o alert na tela normal. Porém depois aparecia compra realizada com sucesso. Agora fiz o teste com o if sem estar dentro da função verificarNumPositivo() e coloquei direto o if no comprar() funcionou. Não consegui pegar o insight do que aconteceu, se alguém puder me ajudar ficarei grato! =)

1 resposta

Bom dia!

Compartilhe no forum também a parte html do código que você escreveu para que possamos ajudá-lo.