Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como fazer calculo em inputs

Ola galera então estou tentando pegar valores de 3 inputs diferente ... e eu consigo só q quando vem o resultado é como se ele não somasse e apenas coloca-se um valor do lado do outro alguém poderia me ajudar! segue meu código:

Valor do Documento Desconto Multa/Mora Valor Cobrado e no meu js está assim: function total() { var valor = document.getElementById("campo-documento").value; var desconto = document.getElementById("campo-desconto").value; var multa = document.getElementById("campo-multa").value; document.getElementById("campo-valor").value = (valor * (desconto / 100) + multa); } grato desde já :)
2 respostas
solução!

Olá bom dia!!

O que está acontecendo é que document.getElementById().value vai te retornar uma string. E sua operação está processando string, no caso concatenando. Você precisa fazer um cast para number dos seus inputs. Ex:

var desconto = parseFloat(
document.getElementById("campo-desconto").value);

ou

var desconto = +document.getElementById("campo-desconto").value;

Sua nova função ficaria:

function total() { 
   var valor = +document.getElementById("campo-documento").value; 
   var desconto = +document.getElementById("campo-desconto").value; 
   var multa = +document.getElementById("campo-multa").value; 
   document.getElementById("campo-valor").value = (valor * (desconto / 100) + multa); 
}

obrigo cara era esse erro mesmo :) vlw