Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia!
Sou iniciante em JavaScript e estou quebrando a cabeça pra resolver um problema, vê se vocês podem me ajudar.
O projeto consiste em um sistema de vendas online bem simples, por isso não utilizei nenhuma plataforma.
O código abaixo é o script que adiciona produtos no carrinho sem dar refresh:
$(document).ready(function(){
$("#addcarrinhoajax").click(function(){
var envio = $.get("add_carrinho.php", {
idproduto: $("#idproduto").val(),
})
envio.done(function(data) {
// AQUI É QUE ESTÁ O PROBLEMA
})
envio.fail(function() { alert("Erro na requisição"); })
});
});
Esse é o código add_carrinho.php:
<?php
session_start();
require_once 'admin/conexao.php';
$idproduto = $_GET['idproduto'];
if(!isset($_SESSION['itens'][$idproduto]))
{
$_SESSION['itens'][$idproduto] = 1;
}else{
$_SESSION['itens'][$idproduto] += 1;
}
?>
Aqui vem uma parte do código onde lista os produtos, a parte onde tem o form com o botão para adicionar produto:
<form action="" method="GET">
<input type="hidden" id="idproduto" name="idproduto" value="<?php echo $item['id']; ?>">
<img src="img/carrinho.png">
<button type="button" id="addcarrinhoajax"> Add</button>
</form>
Código do carrinho, onde só aparece o preço total. O carrinho fica numa DIV fixa na lateral.
<div class="preco">
<?php
if(count($_SESSION['itens']) == 0) {
echo "Carrinho Vazio";
}else {
echo 'R$ ' . number_format($somaCarrinho, 2, ',', '.');
}
?>
</div>
A questão é a seguinte: Toda vez que clico no botão para adicionar, ele adiciona mas não muda o valor! Preciso atualizar a página pra vê o valor total no carrinho.
Como faço pra quando apertar o botão de add, atualizar junto o preço do carrinho dinamicamente?>
19 horas atrás, winterjeferson disse:
O valor do carrinho é calculado no servidor, certo?
Você não pode trazer esse valor no success do ajax que adiciona?
mas é exatamente isso que quero saber!
Como retornar o valor na DIV flutuante que fica o valor do carrinho!
Por ex: a div fica oculta, toda vez que clicar no botão para adicionar ao carrinho, a div do carrinho aparece e muda o valor dinamicamente, entendeu?
Não sei se entendi, mas tenta o ajax no click do botão:
$.ajax({
url:"arquivo.php",
success:function(data) {
$('#div').html(data);
}
});
O valor do carrinho é calculado no servidor, certo?
Você não pode trazer esse valor no success do ajax que adiciona?