Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marvazoler

[Resolvido] Somar valores de um form

Recommended Posts

Olá galera beleza?

 

Seguinte tenho form que tem 3 campos

 

campo 1

campo 2

campo 3

 

gostaria de que fazer uma soma dos valores entre o campo 1 e o campo 2 e o resultado

aparece no campo 3 (Total).

 

Isso em javascript é claro!!

 

Como eu faço?

 

Fiz teste e não deu certo

por exempo

 

function soma()

var a

var b

var t

a = document.form.campo1.value;

b = document.form.campo2.value;

t = document.form.campo1.value + document.form.campo2.value;

 

e nada, por que?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem diversos possiveis motivos:

 

-> Como está o HTML do teu formulário ?

-> Chamou essa função em que evento ?

-> você não declarou, nem fez referência à variável 't'

-> Erros de sintaxe como falta de ;, falta de {}..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que definir um tratador de evento, ou seja, quando que o resultado vai aparecer? Quando receber foco? Quando o segundo perder foco? Quando?

 

Aí é só trabalhar na função do tratador de evento.

 

E qual a "referência" da var t? Ela não tem o campo que recebe...

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhem o que fiz a principio

 

<script language="JavaScript">

function soma()

{

{

a = document.frm.a.value;

b= document.frm.b.value ;

t = (document.frm.a.value + document.frm.b.value);

}

}

end function

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma forma 'correta':

<html>
<head>
<script type="text/javascript">
function id( el ){
	return document.getElementById( el );
}
function soma(){
	id('campo3').value = parseFloat( id('campo1').value ) + parseFloat( id('campo2').value );
}
</script>
</head>
<body>

<form>
	<label>Valor 1: <input type="text" name="campo1" id="campo1" /></label>
	<label>Valor 2: <input type="text" name="campo2" id="campo2" onkeyup="soma()" /></label>
	<label>Total: <input type="text" name="campo3" id="campo3" value="0" /></label>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom

Corrigindo meu post anterior.

<html>
<head>
<script type='text/javascript'>
function soma(){
   var valor1;
   var valor2;
   var total;
   valor1 = document.form.campo1.value;
   valor2 = document.form.campo2.value;
   if(valor1 == "")
   {
      valor1 = 0;
   }
   if(valor2 == "")
   {
      valor2 = 0;
   }
   total = parseInt(valor1) + parseInt(valor2);
   if(document.form.campo3.value == null)
      document.form.campo3.value =0;
   else
	  document.form.campo3.value = total;
   
}
</script>
</head>
<body>
<form name="form">
Valor 1: <input type='text' name='campo1'><br>
Valor 2: <input type='text' name='campo2' onblur= 'soma()'><br>
Total: <input type='text' name='campo3' value='0'>
</form>
</body>
</html>

 

Tava errado, bem errado. =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá galera bom dia!!

Seguente meu caso foi resolvido!! Obrigado

 

A minha outra pergunta é:

 

Eu tenho um script soma rodando, tem problema se eu rodar outro script sem ser de soma no mesmo

textfield?

 

Pois eu preciso de rodar um script para formatar moeda!!

 

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, contanto que você faça da forma correta, não tem problema nenhum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.