Ola´! Meu projeto Carrinho de compra:
function adicionar() {
let produtoElemento = document.getElementById('produto');
let quantidadeElemento = document.getElementById('quantidade');
let produto = produtoElemento.value;
let quantidade = parseInt(quantidadeElemento.value);
// Verificar se a quantidade é válida
if (isNaN(quantidade) || quantidade <= 0) {
alert('Insira uma quantidade válida.');
return;
}
// Verificar se o produto foi selecionado
if (!produto || produto.trim() === '' || produto === 'Selecione produto - R$') {
alert('Selecione um produto válido.');
return;
}
let partesProduto = produto.split(' - ');
// Verificar se o produto tem o formato correto
if (partesProduto.length !== 2) {
alert('Formato do produto selecionado inválido.');
return;
}
let nomeProduto = partesProduto[0].trim();
let valorUnitario = parseFloat(partesProduto[1].split('R$')[1]);
// Verificar se o nome do produto é válido
//if (!nomeProduto || nomeProduto.trim() === '') {
// alert('Nome do produto selecionado não é válido.');
// return;
//} Código até então desnecessário!
// Verificar se o preço do produto é válido
if (isNaN(valorUnitario) || valorUnitario <= 0) {
alert('O preço do produto selecionado é inválido.');
return;
}
let preco = quantidade * valorUnitario;
let carrinho = document.getElementById('lista-produtos');
carrinho.innerHTML += `<section class="carrinho__produtos__produto">
<span class="texto-azul">${quantidade}x</span> ${nomeProduto} <span class="texto-azul"> R$ ${preco.toFixed(2)}</span>
</section>`;
totalGeral += preco;
let campoTotal = document.getElementById('valor-total');
campoTotal.textContent = `R$ ${totalGeral.toFixed(2)}`;
quantidadeElemento.value = '';
}
function limpar() {
totalGeral = 0;
document.getElementById('lista-produtos').innerHTML = '';
document.getElementById('valor-total').textContent = 'R$ ';
}
//Nessa parte que esta comentada creio que é desnecessário, pois o código funciona sem ele:
// Verificar se o nome do produto é válido
//if (!nomeProduto || nomeProduto.trim() === '') {
// alert('Nome do produto selecionado não é válido.');
// return;
//} Código até então desnecessário!*
O que acham?