3
respostas

O código (Dinovo) não esta funcionando

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Oi eu aqui uma outra vez, aconteceu de novo do meu code não esta funcionando mesmo que eu tenha feito igual a da aula. O erro é que era pro code supostamente fazer uma lista do carrinho que compra quando eu adicionar, porem não funcionou, preciso de ajuda.

3 respostas

Oi Victor.

Qual curso você tá fazendo?

Preciso do seu código completo para te ajudar melhor. Copie e cole o código aqui, não use prints porque é ruim para copiar.

Use a opção de inserir bloco de código:

opção de inserir bloco de códigoApós selecionar a opção abaixo irá mostrar uma estrutura da seguinte maneira:

Opção de bloco de código sendo illustrada

O resultado será o seguinte:

Copie o seu código aqui

Fico no aguardo.

Abraços.

let totalgeral = 0

function adicionar() {
    let produto = document.getElementById('produto').value;
    let nomeproduto = produto.split('-')[0];
    let valorUnitario = parseFloat(produto.split('R$')[1]);
    let quantidade = document.getElementById('quantidade').value;
    let price = quantidade * valorUnitario;
    let carrinho = document.getElementById('lista-produtos');
  
    carrinho.innerHTML = `
      <section class="carrinho_produtos" id="lista-produtos">
        <section class="carrinho_produtos_produto">
          <span class="texto-azul">${quantidade}x</span> ${nomeproduto} <span class="texto-azul">R$${price}</span>
        </section>
      </section>
    `;
    let totalgeral = totalgeral + price;
    let campoTotal = document.getElementById('valor-total');
    campoTotal.textContent = `R$ ${totalgeral}`
  }
  
function limpar() {
  

}

meu codigo

Oii, Victor.

Obrigada por compartilhar seu código.

Tem algumas coisinhas diferentes no seu código para o do curso:

Redefinição da variável totalgeral: Dentro da função adicionar, você declarou novamente a variável totalgeral com let. Isso cria uma variável local que só existe dentro da função, em vez de usar a variável global que você definiu no início. Por causa disso, o valor acumulado não é mantido, e o total exibido sempre será calculado como se fosse a primeira vez.

Sobrescrita do conteúdo do carrinho: O innerHTML do elemento carrinho é redefinido toda vez que a função é chamada. Isso faz com que o carrinho substitua o produto anterior em vez de adicionar o novo produto mantendo os itens já listados.

Aqui o código corrigido:

let totalgeral = 0

function adicionar() {
    let produto = document.getElementById('produto').value;
    let nomeproduto = produto.split('-')[0];
    let valorUnitario = parseFloat(produto.split('R$')[1]);
    let quantidade = document.getElementById('quantidade').value;
    let price = quantidade * valorUnitario;

    let carrinho = document.getElementById('lista-produtos');
    carrinho.innerHTML = carrinho.innerHTML + `
      <section class="carrinho_produtos" id="lista-produtos">
        <section class="carrinho_produtos_produto">
          <span class="texto-azul">${quantidade}x</span> ${nomeproduto} <span class="texto-azul">R$${price}</span>
        </section>
      </section>
    `;

    totalgeral = totalgeral + price;
    let campoTotal = document.getElementById('valor-total');
    campoTotal.textContent = `R$ ${totalgeral}`
  }
  
function limpar() {
  

}

Lembra sempre de salvar as modificações para que tudo funcione bem.

Mais pra frente a função de limpar será mais trabalhada.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

bons estudos