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

Soma De Itens


ramister

Pergunta

Estou estudando javascript a pouco tempo e precisava fazer uma função de soma e não estou conseguindo.

Sei que é simples (para vocês) e se puderem me ajudar a fazer.. smile.gif) Vai me ajudar a entender.

___________________________________________________________

Tenho um formulario com varios campos de quantidade para cada item:

--ITEM--QTD--

item 1 = x

item 2 = y

item 3 = z

item 4 = q

---VALORES---

item 1 vale 25

item 2 vale 30

item 3 vale 23

item 4 vale 16

Precisaria de uma função que pegue o número colocado na quantidade dos itens (no lugar do x,y,z,q) e multiplique pelo valor do item, e depois some todos os itens retornando um VALOR TOTAL.

É possível?

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Acho ainda não..

Fiz esse form para visualizar melhor.

Se por exemplo você colocar 3 no campo "x" e "x" valer 25 seria 3*25.

Assim com todos os outros campos e então a soma "x+y+z+q" aparece no "total".

entendeu?

______________________________________________________________

<table border="0" cellspacing="0" cellpadding="0">

<form id="form1" name="form1" method="post" action=""><tr>

<td height="40"><input name="x" type="text" value="0" size="5" /></td>

</tr>

<tr>

<td height="40"><input name="y" type="text" id="b" value="0" size="5" /></td>

</tr>

<tr>

<td height="40"><input name="z" type="text" id="c" value="0" size="5" /></td>

</tr>

<tr>

<td height="40"><input name="q" type="text" id="d" value="0" size="5" /></td>

</tr>

<tr>

<td height="60" valign="bottom"><input name="total" type="text" id="d2" value="0" size="10" /></td>

</tr>

<tr>

<td height="40"><input type="submit" name="Submit" value="Submit" /></td>

</tr>

</form>

</table>

Link para o comentário
Compartilhar em outros sites

  • 0

Tentei mesmo.. coloquei numa função.

Errado né?!

________________________________

<html>

<head>

<script language="JavaScript" >

function calc(){

var a= 25*x

var b= 30*y

var c= 23*z

var d= 16*q

var total = document.write(x+y+z+q)

}

</script>

</head>

<body>

<table border="0" cellspacing="0" cellpadding="0">

<form id="form1" name="form1" method="post" action=""><tr>

<td height="40"><input name="x" type="text" value="0" size="5" /> </td>

</tr>

<tr>

<td height="40"><input name="y" type="text" id="b" value="0" size="5" /></td>

</tr>

<tr>

<td height="40"><input name="z" type="text" id="c" value="0" size="5" /></td>

</tr>

<tr>

<td height="40"><input name="q" type="text" id="d" value="0" size="5" /></td>

</tr>

<tr>

<td height="60" valign="bottom"><input name="total" type="text" id="d2" value="0" size="10" /></td>

</tr>

<tr>

<td height="40"><input type="submit" name="Submit" value="Submit" onSubmit="return calc();" /></td>

</tr>

</form>

</table>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Tente assim colega:

<html>
<head>
<script language="JavaScript" >
function calc(){
var x= 25*document.forms['form1'].elements['x'].value;
var y= 30*document.forms['form1'].elements['y'].value;
var z= 23*document.forms['form1'].elements['z'].value;
var q= 16*document.forms['form1'].elements['q'].value;
var total= x+y+z+q;
document.forms['form1'].elements['total'].value= total

}
</script>

</head>

<body>

<table border="0" cellspacing="0" cellpadding="0">
<form id="form1" name="form1"><tr>
<td height="40"><input name="x" type="text" value="0" size="5" /> </td>
</tr>
<tr>
<td height="40"><input name="y" type="text" id="b" value="0" size="5" /></td>
</tr>
<tr>
<td height="40"><input name="z" type="text" id="c" value="0" size="5" /></td>
</tr>
<tr>
<td height="40"><input name="q" type="text" id="d" value="0" size="5" /></td>
</tr>
<tr>
<td height="60" valign="bottom"><input name="total" type="text" id="d2" value="0" size="10" /></td>
</tr>
<tr>
<td height="40"><input type="button" name="Submit" value="Submit" onClick="calc();" /></td>
</tr>
</form>
</table>

</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu mesmo.. funcionou! Estou entendo melhor.

Tentei aplicar essa função numa pagina teste que faço para aprender em vários casos e pintou um problema.

Tenho esse form que envio para outra pagina onde faço as verificações e tudo mais em php. Até aí perfeito. Mas antes de enviar para essa página o ususario pode fazer o calculo na primeira pagina do total (Ai entra esse codigo de soma) que é acionado com um outro botão "calculo" que está dentro do form que tem o botao "enviar".

Só que quando clico em "calculo" ele aciona o action do "enviar", do form principal.

Tentei também colocando com uma imagem normal chamando o function (<a href="javascript:void(0);" onClick="calc();"><img src="img/caulcular.gif" border="0"></a>), e também não deu certo.

___________________________________

<html>

<head>

<script language="JavaScript" >

function calc(){

var x= 25*document.forms['form1'].elements['x'].value;

var y= 30*document.forms['form1'].elements['y'].value;

var z= 23*document.forms['form1'].elements['z'].value;

var q= 16*document.forms['form1'].elements['q'].value;

var total= x+y+z+q;

document.forms['form1'].elements['total'].value= total

}

</script>

</head>

<body>

<table border="0" cellspacing="0" cellpadding="0">

<form id="form1" name="form1" action="verifica.php" method="post"><tr>

<td height="40"><input name="x" type="text" value="0" size="5" /> </td>

</tr>

<tr>

<td height="40"><input name="y" type="text" id="b" value="0" size="5" /></td>

</tr>

<tr>

<td height="40"><input name="z" type="text" id="c" value="0" size="5" /></td>

</tr>

<tr>

<td height="40"><input name="q" type="text" id="d" value="0" size="5" /></td>

</tr>

<tr>

<td height="60" valign="bottom"><input name="total" type="text" id="d2" value="0" size="10" /></td>

</tr>

<tr>

<td height="40"><input type="image" name="calculo" src="img/caulcular.gif" onClick="calc();" ></td>

</tr>

<tr>

<td height="40">&nbsp;</td>

</tr>

<tr>

<td height="40"><input type="image" name="enviar" src="img/enviar.gif"></td>

</tr>

</form>

</table>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

O que está errado, é que você não pode colocar um input-image, tão menos um input-submit...porque a função se aplicará à página, e como você enviaria um valor, se ele se aplica à página?? A menos que não apresente esse valor na página em execução e executasse no servidor.

Link para o comentário
Compartilhar em outros sites

  • 0

Veja se eu entendi o que disse. Eu não colocaria um action nessa página? E como faria para enviar meus valores por php para a página seguinte?

Não tem algum jeito de eu executar essa função de calculo de outra maneira dentro desse form mesmo? Por link mesmo?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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