Ir para conteúdo

POWERED BY:

Arquivado

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

michael and cris

calculo entre dois textfield

Recommended Posts

Tipo o código funfa com - * / mas quando mando somar ele da erro tipo mando somar 5 + 5 ele fica 55 em vez de 10 eu peguei o código aqui mesmo no fórum alguém poderia me ajudar e falar por que ta fazendo isso o código e esse

<script type="text/javascript">
function calcular(){
	// criando variáveis 
	var valor1 = document.getElementById('campo1');
	var valor2 = document.getElementById('campo2');
	var valor3 = document.getElementById('campo3');

	valor3.value = (valor1.value)/(valor2.value);
}
</script>
<body>

<label>Primeiro: <input type="text" id="campo1" /></label>
<label>Segundo: <input type="text" id="campo2" onblur="calcular()" /></label>
<label>Terceiro: <input type="text" id="campo3" /></label>

</body>
:wacko: :wacko: :wacko: http://forum.imasters.com.br/public/style_emoticons/default/excl.gif http://forum.imasters.com.br/public/style_emoticons/default/excl.gif http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa um parseInt ou parseFloat, nas variáveis antes de somar:

exemplo:

valor3.value = parseInt(valor1.value)+parseInt(valor2.value);

 

Assim, você trás de volta, oq tinha virado string.. para numeros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, pois o problema é que JS é uma linguagem que tem tipagem dinâmica... e frequentemente, ela pega nossos valores de inputs como strings, e não como floats...

se você colocar parseFloat(caso precise trabalhar com decimais), ou parseInt... vai funcionar sempre...

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.