Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um input text no meu form, que recebe um valor do banco de dados. Isso já está funcionando perfeitamente. Criei uma função para somar o valor de um outro campo, com esse que trás da tabela, e está apenas concatenando. O que posso estar errando? Se como exemplo, eu trago do banco o valor 50, e depois digito 50 nesse outro campo que faz a soma, ela passa a mostrar 5050, acrescentando sempre o último valor digitado à esquerda do valor que veio da tabela, quando o normal seria exibir o resultado da soma. Vejam a função que deveria somar:
function onSomaTotal(){
var valorAbastecimento = document.getElementById("valorAbastecimento").value;
var totalValor = document.getElementById("totalValor").value;
document.getElementById("totalValor").value = (valorAbastecimento + totalValor);
}Obrigado pela ajuda Matheus. Era exatamente esse o problema e foi resolvido. Com relação à postagem, vou procurar observar melhor a relação entre os temas, e tentar postar no local apropriado. Me desculpe por ora, e releve, pois, "qualquer caminho é caminho pra quem se encontra perdido".
Tranquilo, não esquenta :)
Bom que tenha resolvido o problema. Abraço!
Olá amigo.
Por favor, leia isso: https://forum.imasters.com.br/topic/556002-atenção-seu-problema-é-realmente-com-o-php/
Sobre a sua dúvida, o problema é que quando você pega o valor do elemento, ele está representado por uma string (um texto) e ao utilizar o operador de "soma", na verdade você está concatenando (unindo) as duas strings.
Para que o operador funcione como um operador aritmético de soma, você precisa converter os dados, assim: