Como é uma duvida bem bestinha, vou colocar só a parte que esta com “problema”
a minha função Somar() esta concatenando! mesmo eu convertendo para parseInt()!! (talvez eu esteja convertendo de modo errado…)
a minha função Menas() nem ao mesmo esta funcionando!
se alguem puder me dar uma luz rsrs.
[code]function Somar() {
var num1 = document.getElementById(“num1”).value;
var num2 = document.getElementById(“num2”).value;
var soma = num1+num2;
document.getElementById(“result”).value = soma;
return true;
}
function Menas() {
var num1 = document.getElementById(“num1”).value;
var num2 = document.getElementById(“num2”).value;
var subtra = num1 - num2;
document.getElementById(“result”).value = subtra;
return true;
}[/code]
Os botões que vão acionar esses 2 metodos estão assim.
É preciso dizer ao javascript que ele irá trabalhar com números.
Isso deve ser feito variável por variável
valor1 = new Number(document.formCalc.campo1.value);
valor2 = new Number(document.formCalc.campo2.value);
valor3 = new Number(document.formCalc.campo3.value);
valor4 = new Number(document.formCalc.campo4.value);
var resultado = new Number(valor1 + valor2 + valor3 + valor4);
Manjou?
E, por favor, mude a function Menas, isso me recorda da @Cleicyane…
Muito obrigado! problema resolvido. e desculpe por despertar lembranças da tal fulana! prometo mudar a função Menas() para Subtrar() rsrs.
so me restou 2 duvidas.
1° em que casos eu teria que utilizar o parseInt? ja que nesse caso resolveu com o new Number.
2° porque minhas outras 2 funções que estava iguais funcionou sem essa conversão! (divisão e vezes)
[code]function Vezas() {
var num1 = document.getElementById(“num1”).value;
var num2 = document.getElementById(“num2”).value;
var vvezes = num1 * num2;
document.getElementById(“result”).value = vvezes;
return true;
}
function Divas() {
var num1 = document.getElementById(“num1”).value;
var num2 = document.getElementById(“num2”).value;
var dividir = num1 / num2;
document.getElementById(“result”).value = dividir;
return true;
Então, javascript interpreta o operando + como concatenador. Por isso você precisa explicitar a conversão.
É possível substituir o new Number por parseInt (ou valueOf, se não me engano), também.