Ir para conteúdo

POWERED BY:

Arquivado

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

eronventer

Calculo em javascript

Recommended Posts

Ae pessoal,

 

Preciso de um help, nao sei pq mas estou tentando efetuar o calculo em javascript

para me dar o valor total mas sempre diz que 'value' nao é um objeto...

 

CALCULO JAVASCRIPT

 

function calcular()
{
	var somando = 0;
	var inputs  = document.getElementsByTagName("input");
	var retorno = document.getElementById("total");
	
	for(i=0;i<inputs.length;i++){
		 if(inputs[i].type == "text"){
		 	somando += Number(eval("document.formCompra.qtd"+i).value)*Number(eval("document.formCompra.preco"+i).value);
		 }
	}
	
	retorno.innerHTML = somando;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que eu entendi olhando o link que você passou... Você quer que ele calcule um campo qtd# por um campo preco#...

Mas tem alguns erros no seu código...

 

1º Nesse for ele acaba dando 6 voltas e deveria dar 3 somente...

2º A primeira volta o i = 0, e não existe campos qtd0 e preco0...

 

Refiz o código... Vê se é isso que você quer:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>

<script>
function calcular()
{
	var somando = 0;
	var inputs  = document.getElementsByTagName("input");
	var retorno = document.getElementById("total");

	for(i=0;i<inputs.length;i++){
		 if(inputs[i].type == "text" && inputs[i].name.substr(0,5) == "preco"){
			   var n = inputs[i].name.substr(5);
			   var qtd = eval("document.formCompra.qtd"+n+".value").replace(",",".");
			 var preco = eval("document.formCompra.preco"+n+".value").replace(",",".");
			 var total = parseFloat(qtd) * parseFloat(preco);

			   somando += (Math.round(total*100))/100;
		 }
	}

	somando += "";
	retorno.innerHTML = somando.replace(".",",");
}

</script>

</head>

<body>
<form name="formCompra" id="formCompra" method="post" action="">
  <table width="250" border="0" cellspacing="0" cellpadding="0"><tr>
	<td width="161">PREÇO</td>
	  <td width="61">QTD</td>
	  <td width="28"> </td>
  </tr>
	<tr>
	  <td><input name="preco1" type="text" id="preco1" value="187,20" /></td>
	  <td><input name="qtd1" type="text" id="qtd1" value="5" size="8" /></td>
	  <td><input type="checkbox" name="add1" id="add1" value="12" /></td>
	</tr>
	<tr>
	  <td><input name="preco2" type="text" id="preco2" value="43,25" /></td>
	  <td><input name="qtd2" type="text" id="qtd2" value="10" size="8" /></td>
	  <td><input type="checkbox" name="add2" id="add2"  value="1"/></td>
	</tr>
	<tr>
	  <td><input name="preco3" type="text" id="preco3" value="12,98" /></td>
	  <td><input name="qtd3" type="text" id="qtd3" value="3" size="8" /></td>
	  <td><input type="checkbox" name="add3" id="add3" value="89" /></td>
	</tr>
	<tr>
	  <td colspan="3"> </td>
	</tr>
	<tr>
	  <td colspan="3"><div align="right"><a href="java script:calcular();">Calcular</a></div></td>
	</tr>
	<tr>
	  <td colspan="3"> </td>
	</tr>
	<tr>
	  <td colspan="3">Total: <div id="total">R$ 0,00</div></td>
	</tr>
</table>
</form>

</body>
</html>

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.