Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
montei um script de um carrinho de compras em PHP. só que neste script eu uso javascript para atualizar os preços de acordo com a quantidade de itens.
por exemplo:
a quantidade inicial já está definida como '1' e o preço como 250.00. aí, quando eu mudo a quantidade pra '2', automaticamente o preço muda pra 500.00.
até aí tudo bem, só que, neste caso eu tenho mais de um item com quantidades e preços diferentes. e eu não estou conseguindo somar tudo em um valor total.
vou postar o script pra ver quem pode ma ajudar
obs: no campo TOTAL, quando eu atualizo um preço aparece escrito NaNaNaNaNaN
estranho... rs
aí vai:
>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script language="javascript">
function atualiza(){
var form = document.forms['form'];
if (form){
for(var i = 1; i <= 2; i++){
form.elements['qtd_preco[' + i + ']'].value = form.elements['preco[' + i + ']'].value * form.elements['quantidade[' + i + ']'].value;
var total = form.elements['total'];
alert(parseFloat(total.value*1) + parseFloat(form.elements['qtd_preco[' + i + ']'].value*1));
total.value = parseFloat(total.value) + parseFloat(form.elements['qtd_preco[' + i + ']'].value);
}
}
}
</script>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>teste</title>
<body>
<form name="form" method="post" action="">
<p>quantidade:
<input name="quantidade[1]" type="text" id="quantidade" value="" onChange="java script: atualiza();">
</p>
<p>preço:
<input name="preco[1]" type="text" id="preco" value="250" onChange="java script: atualiza();">
</p>
<p>quantidade * preço:
<input name="qtd_preco[1]" type="text" id="qtd_preco">
</p>
<p>quantidade:
<input name="quantidade[2]" type="text" id="quantidade" value="" onChange="java script: atualiza();">
</p>
<p>preço:
<input name="preco[2]" type="text" id="preco" value="250" onChange="java script: atualiza();">
</p>
<p>quantidade * preço:
<input name="qtd_preco[2]" type="text" id="qtd_preco">
</p>
<p>Total:
<input name="total" type="text" id="total">
</p>
</form>
</body>
</html>
quem puder ajudar eu já agradeço
[]'s
Eduardo Matsuzaki http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
[RESOLVIDO]
essa foi rápida
os campos quantidade, preço, quantidade * preço e total sempre vêem com um valor, então não tem erro no script, o problema é que o total vinha sem um valor e agora vem com um valor
[]'s
Eduardo Matsuzaki
[RESOLVIDO]
ta resolvido galera
os campos tem que ter um valor fixo, e esses valores fixos ja veem do banco
abraços
Eduardo Matsuzaki
EDITADO
ah
mais um detalhe
ao invés de onchange da pra colocar um onkeypress, fica mais da hora
[]'s