Ir para conteúdo
Fórum Script Brasil
  • 0

Checkbox / Carrinho De Compras Igual Fiat


carlosmandra

Pergunta

Colegas,

estou fazendo uma página simples de seleção de produtos para um amigo, e queria que funcionasse como o site da FIAT, na parte Monte seu Carro .

A página que estou mexendo é essa:

http://www.livrosvoodoo.com/site/loja_a.php

Cada revista tem um checkbox, e quero que, ao selecionar o checkbox, o valor da revista seja somado a um campo que vou colocar com Persistent Layer, pra sempre acompanhar a janela, como na página da Alienware.

Não tenho experiência grande com JS, por isso não sei quais as funções usadas. Alguém pode me ajudar?

Abraço!

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
<script language="JavaScript">

function result(){

var a = document.formulario.um.value;

var b = document.formulario.dois.value;

var c = document.formulario.tres.value;

var d = eval(a) + eval(B) + eval©;

var e = eval(a) * eval(B) * eval©;

document.formulario.som.value = d;

document.formulario.mul.value = e;

}

</script>

<form name="formulario">

1º:<input type="text" name="um" id="umum">&nbsp;

2º:<input type="text" name="dois" id="doisdois2">&nbsp;

3º:<input type="text" name="tres" id="tretres"><br>

soma: <input type="text" name="som" id="soma">

multiplica: <input type="text" name="mul" id="multiplica"><br>

<input type="button" onclick="result()" value="Calcular">

</form>

um exemplo de calculo ae!

você tera que fazer ela somar ou subtrair no onclick do checkbox

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Oi fercosmig,

beleza, era isso que precisava. Testei aqui e ficou assim:

<script language="JavaScript">
function result(){
var a = document.formulario.checkbox1.value;
var b = document.formulario.checkbox2.value;
var c = document.formulario.checkbox3.value;
var d = document.formulario.checkbox4.value;
var e = document.formulario.checkbox5.value;

var x = eval(a) + eval(b) + eval(c) + eval(d) + eval(e);
document.formulario.som.value = x;

}
</script>
<form name="formulario">
  <p>
    <input name="checkbox1" type="checkbox" id="checkbox1"  onClick="result()"  value="7">
7  </p>
  <p>
    <input name="checkbox2" type="checkbox" id="checkbox2"  onClick="result()" value="10">
  10</p>
  <p>
    <input name="checkbox3" type="checkbox" id="checkbox3" onClick="result()" value="11">
11  </p>
  <p>
    <input name="checkbox4" type="checkbox" id="checkbox4" onClick="result()" value="8">
8  </p>
  <p>    <input name="checkbox5" type="checkbox" id="checkbox5" onClick="result()" value="6">
6  </p>
  <p>soma: 
<input type="text" name="som" id="soma">
<br>
  </p>
</form>

Só que ao clicar em qualquer um dos checkboxes, ele já aparece a soma total (42) e depois para de atualizar. Tentei achar alguma coisa para dar o valor "0" ao checkbox quando ele não for selecionado, mas nenhum resultado.. Sabe o que pode estar errado? Valeu pela ajuda!

Link para o comentário
Compartilhar em outros sites

  • 0

Aêêêêêê.. deu certo!!! Aí vai:

<script language="JavaScript">
function result(){
if(document.getElementById("checkbox11").checked){
var a = document.formulario.checkbox1.value;
} else {
var a = 0
}
if(document.getElementById("checkbox22").checked){
var b = document.formulario.checkbox2.value;
} else {
var b = 0
}
if(document.getElementById("checkbox33").checked){
var c = document.formulario.checkbox3.value;
} else {
var c = 0
}
if(document.getElementById("checkbox44").checked){
var d = document.formulario.checkbox4.value;
} else {
var d = 0
}
if(document.getElementById("checkbox55").checked){
var e = document.formulario.checkbox5.value;
} else {
var e = 0
}

var x = eval(a) + eval(b) + eval(c) + eval(d) + eval(e);
document.formulario.som.value = x;

}
</script>

Agora, tudo certo: ao marcar um checkbox, o valor atualiza automaticamente!!

Uma dúvida: é possível preencher o código javascript com dados do mysql via php? Exemplo, fazer um FOR para criar vars do javascript de acordo com o número de produtos no BD? Resumindo, é possível colocar código php embutido no js? Se não puder embutido, existe outra maneira?

Valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

Oi fercosmig,

voltei, hehehe.. estou finalizando a implementacao desse carrinho de compras. Testei o =<?variavel?> do php dentro do javascript, e funfou de boa!! Agora não to conseguindo sair daqui (tenho uma imensa dificuldade em "pensar" no loop FOR):

Esse é o script que você me ensinou e tá funcionando beleza:

<script language="JavaScript">
function result(){
if(document.getElementById("checkbox11").checked){
var a = document.formulario.checkbox1.value;
} else {
var a = 0
}
if(document.getElementById("checkbox22").checked){
var b = document.formulario.checkbox2.value;
} else {
var b = 0
}
if(document.getElementById("checkbox33").checked){
var c = document.formulario.checkbox3.value;
} else {
var c = 0
}
if(document.getElementById("checkbox44").checked){
var d = document.formulario.checkbox4.value;
} else {
var d = 0
}
if(document.getElementById("checkbox55").checked){
var e = document.formulario.checkbox5.value;
} else {
var e = 0
}

var x = eval(a) + eval(b) + eval(c) + eval(d) + eval(e);
document.formulario.som.value = x;

}
</script>
Agora, pra deixar a página dinâmica, montada de acordo com o resultado que volta do banco de dados, eu preciso fazer o seguinte:
<script language="JavaScript">
function result(){

[COLOR=red]// isso teria que ser um loop pra repetir X vezes[/COLOR]
if(document.getElementById("<? echo $row_rsProdutos['cod_prod']?>").checked){
var <? echo $row_rsProdutos['id_prod']?> = document.formulario.prod<? echo $row_rsProdutos['id_prod']?>.value;
} else {
var <? echo $row_rsProdutos['id_prod']?> = 0
}
}

//agora vem a maldita soma: como jogar o nome das var dentro dos parenteses, pois teria que ser em loop tb, certo?
var x = eval(a) + eval(b) + eval(c) + eval(d) + eval(e);
document.formulario.som.value = x;

}
</script>

ufa... e o pior é que eu preciso toda hora dessa m... de loop for, mas sempre tenho que pedir ajuda porque começo a confundir as coisas...

Abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

AAAAAAAAAAAAAAAAAAHHH!!!!!!!!

consegui!!! Só que tive que fazer a mesma consulta no bd com 3 nomes diferentes, um pro PHP e dois pro JS, mass tudo bem!!

Aí vai:

<script language="JavaScript">

function result(){
<? do { ?>

if(document.getElementById("<? echo $row_rsProdutosJ['cod_prod']?>").checked){
var a<? echo $row_rsProdutosJ['id_prod']?> = document.formLoja.prod<? echo $row_rsProdutosJ['id_prod']?>.value;
} else {
var a<? echo $row_rsProdutosJ['id_prod']?> = 0;
}
<? } while ($row_rsProdutosJ = mysql_fetch_assoc($rsProdutosJ)); ?>

var y = 0;
var x = <? do { ?> eval(a<? echo $row_rsProdutosS['id_prod']?>) + <? } while ($row_rsProdutosS = mysql_fetch_assoc($rsProdutosS)); ?> eval(y);

document.formLoja.som.value = x;

}
</script>

Valeu!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Pra quem programa em asp a coisa fica assim:

html:

<table>
<%
contdet=0
do while not rsdet.eof
%>
<tr>
  <td align="right">
    <div>
    <%=rsdet("valor")%>
    <input type="checkbox" name="val<%=contdet%>" id="val<%=contdet%>" onClick="result();" value="<%=rsdet("valor")%>" />
    </div>
  </td>
</tr>
<%
contdet=contdet+1
rsdet.movenext
loop
%>
</table>
javascript
<script language="JavaScript">
function result(){
<%
contres=0
contres2=0
while contres < contdet
%>
if(document.getElementById("val<%=contres%>").checked){
var a<%=contres%> = document.getElementById("val<%=contres%>").value;
} else {
var a<%=contres%> = 0.00;
}
<%
contres = contres + 1
wend
%>
var y = 0.00;
var x = <%
while contres2 < contdet
    response.write "parseFloat(a"&contres2&")+"
contres2 = contres2+1
wend
response.write "parseFloat(y)" &vbcrlf
%>
document.getElementById('fatura_frame').innerHTML=x;
}
</script>

<%
rsadm.close
set rsadm = nothing
%>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...