3
respostas

[Bug] O site não responde

Ola, estou fazendo o curso de programação "Logica de programação: praticando com desafios" e de novo o codigo não esta funcionando mesmo após eu arrumar e salvar ele, não sei o que eu perdi do video enquanto eu fazia porem simplesmente não funciona, peço ajuda para descobrirem o que tem de errado no code.

function comprar(){
    let tipo = document.getElementById('tipo-ingresso')
    let qtd = document.getElementById('qtd')

    if(tipo.value == 'pista') {b
        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( 'Quantidade indisponível para tipo Supeior');
    } else {
    qtdSuperior = qtdPista - qtd;
    document.getElementById('qtd-Supeior').textContent = qtdSuperior;
    alert( 'Compra realizada com sucesso!');
}
}

function comprarInfeior(qtd) {
    let qtdInferior = parseInt (document.getElementById('qtd-inferior') .textContent);
    if (qtd > qtdInferior) {
    alert( 'Quantidade indisponível para tipo Infeior');
    } else {
    qtdPista = qtdInferior - qtd;
    document.getElementById('qtd-inferior').textContent = qtdInferior;
    alert( 'Compra realizada com sucesso!');
}
}
3 respostas

Olá! Não sei seu desafio mas o código tem alguns erros de digitação que podem impedir o funcionamento correto.

comprarInfeior(qtd) → Deveria ser comprarInferior(qtd). document.getElementById('qtd-Supeior') → O ID correto seria 'qtd-superior'. alert( 'Quantidade indisponível para tipo Supeior') → Deve ser 'Superior'. alert( 'Quantidade indisponível para tipo Infeior') → Deve ser 'Inferior'.

Opa, obrigado pela resposta, ele arrumou um pouco o meu codigo porem ainda tem um problema que é, ele não faz a conta depois que eu vendo os ingressos, fica como se eu tivesse comprado mas os ingressos ainda estão la. Segue a fotoInsira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Boa noite! Tem erro ao acessar o valor da quantidade Você está passando o elemento qtd diretamente, mas deveria pegar seu valor e convertê-lo para número com parseInt(qtd.value). Também erro na lógica da subtração No comprarSuperior(qtd), você está subtraindo qtd de qtdPista em vez de qtdSuperior. Espero que assim vai funcionar.

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 == '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 -= 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('Quantidade indisponível para tipo Superior');
    } else {
        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 para tipo Inferior');
    } else {
        qtdInferior -= qtd; 
        document.getElementById('qtd-inferior').textContent = qtdInferior;
        alert('Compra realizada com sucesso!');
    }
}