Amigos, tenho um javascript que multiplica 2 campos e exibe o resultado no terceiro campo… ta funfando certinho… o problema é q quando multiplico 2 valores inteiros queria q o resultado apareça com 2 casas decimais:
Ex:
2 x 2 = 4,00
Outro caso é quando multiplico e o resultado aparece mais de 2 casas decimais… queria q tb aparecesse somente com 2…
Aparece a msg de erro. Estou tentando usar toFixed(2)
Objeto não dá suporte para propriedade ou método.
Estou usando o JS abaixo:
// Função para multiplicar os campos qtdItem com valorUnitario
function multiplica() {
var trocaV = /,/g;
var trocaP = /\./g;
var totalTemp = document.forms["estoqueForm"].elements["totalTemp"];
var txtCodProduto = document.forms["estoqueForm"].elements["codProduto"];
var txtQtdItem = document.forms["estoqueForm"].elements["qtdItem"];
var txtValorUnitario = document.forms["estoqueForm"].elements["valorUnitario"];
var txtValorTotalItem = document.forms["estoqueForm"].elements["valorTotalItem"];
var iLoop;
//alert(txtCodProduto.length);
for (iLoop = 0; iLoop < txtCodProduto.length; iLoop++){
if ((isNaN(txtQtdItem[iLoop].value)) || (isNaN(txtValorUnitario[iLoop].value.replace(trocaV,".")))) {
alert("Preencha os valores corretamente!");
} else {
totalTemp[iLoop].value = parseFloat(txtQtdItem[iLoop].value.replace(trocaV,".")) * parseFloat(txtValorUnitario[iLoop].value.replace(trocaV,"."));
}
if (totalTemp[iLoop].value > 0) {
txtValorTotalItem[iLoop].value = totalTemp[iLoop].value.toString().replace(trocaP,",");
txtValorTotalItem[iLoop].value.toFixed(2);
} else {
txtValorTotalItem[iLoop].value = "";
}
}
}