Ir para conteúdo

POWERED BY:

Arquivado

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

marvi

Soma Os Valores Bem...

Recommended Posts

Ola pessoal,

eu uso esse para somar valor dos campos, ele responde automatico quando vou digitando, mas queria saber como faço para a soma deles serem mostradas em modeas? em R$?

Tem como? Qual o metodo?

<script language="javascript">function Calcula(){var Parametro1=document.frm.EditValor.value;var Parametro2=document.frm.EditTaxa.value;var Soma=((parseFloat(Parametro1))+(parseFloat(Parametro2))); document.frm.EditValorTotal.value=Soma;}</script><form name="frm"><input type="text" name="EditValor" onKeyUp="Calcula()" size="20" style="border: 1px solid #808080"><BR><input type="text" name="EditTaxa" onKeyUp="Calcula()" size="20" style="border: 1px solid #808080"><BR><BR>total: R$<input type="text" name="EditValorTotal" size="6" style="border: 1px solid #FFFFFF"><BR><BR></form>

há e queria saber se tem como colocar na função que minha "var Parametro1...e outras var" fique dinamica de acordo com os campos do meu form,tipo de sugir mais campos text no form ele vai pra função do script automaticamente, queria usar algum FOR ou algo assim, sabem de algo? Pois assim surgi mais campos para dar resultado na soma.

 

 

Preciso!

Obrigado!

Marcelo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcelo veja se isto resolve o seu problema:

<form name='frm' action='#' method='post'>  <table cellpadding='2' cellspacing='0' align='center' width='640' id='table1'>	<tr>	  <td valign='middle'><input type="text" name="valor[1]" onKeyUp="Calcula()" onKeyPress="return MascaraNumero(this,window.event.keyCode,2)" onBlur="this.value=FormataNumero(this.value,2)" size="20" style="border: 1px solid #808080"></td>	</tr>	<tr>	  <td valign='middle'><input type="text" name="valor[2]" onKeyUp="Calcula()" onKeyPress="return MascaraNumero(this,window.event.keyCode,2)" onBlur="this.value=FormataNumero(this.value,2)" size="20" style="border: 1px solid #808080"></td>	</tr>	<tr>	  <td valign='middle'><input type="text" name="valor[3]" onKeyUp="Calcula()" onKeyPress="return MascaraNumero(this,window.event.keyCode,2)" onBlur="this.value=FormataNumero(this.value,2)" size="20" style="border: 1px solid #808080"></td>	</tr>	<tr>	  <td valign='middle'><font class='normal' id='total'><b>Total: R$</b></font></td>	</tr>  </table></form><script language='JavaScript'>   function Calcula()	  {	  var total=0;	  for (var x=1;x<table1.rows.length;x++)		 total+= parseFloat(numBrToUsa(document.frm.elements['valor['+x+']'].value));	  document.frm.all['total'].innerHTML='<b>Total: R$ '+FormataNumero(numUsaToBr(total),2)+'</b>';	  }   // Função para mascara de números (padrão brasileiro), porém pode-se escolher quantas casas decimais   // param3 = número de casas decimais   function MascaraNumero(param1,param2,param3)	  {	  tecla = String.fromCharCode(param2);	  if (param1.value.indexOf(',')>0)		 {		 casas=param1.value.split(",");		 if (casas[1].length>param3)			{			event.returnValue = false;			return;			}		 }	  if (tecla>=0 && tecla<=9)		 event.returnValue = true;	  else if (tecla=="," && param1.value.indexOf(',')==-1 && param1.value.length>0 && param3>0)		 event.returnValue = true;	  else		 event.returnValue = false;	  }   // Função para formatar um número colocando separador de milhar e o número de casas decimais.   // A função não verifica se o parametro numero é mesmo um número. numero deve estar no padrão brasileiro.   function FormataNumero(numero,casas)	  {	  negativo=false;	  if (numBrToUsa(numero)<0)		 {		 negativo=true;		 numero=numero.replace("-","");		 }	 	  if (numero=="" || numero=="0")		 return "0,00";	  numero=numero.replace(".","");	  if (numero.indexOf(',')==-1)		 numero+= ",00";	  num=numero.split(",");	  aux="";	  y=1;	  for (x=num[0].length;x>0;x--)		 {		 aux+= num[0].substr(x-1,1);		 if (y%3==0 && x>1)			aux+=".";		 y++;		 }	  ret="";	  for (x=aux.length;x>0;x--)		 ret+= aux.substr(x-1,1);	  if (casas>0)		 ret+=",";	  if (num[1].length>=casas)		 len=casas	  else		 len=num[1].length;	  for (x=0;x<len;x++)		 ret+= num[1].substr(x,1);	  for (y=x;y<casas;y++)		 ret+= "0";	  if (negativo)		 ret="-"+ret;	  return ret;	  }	// Função para converter um número do padrão brasileiro para o padrão americano	function numBrToUsa(numero)	   {	   if (numero=="")		  return "0.00";	   aux=numero.replace(".","");	   return parseFloat(aux.replace(",","."));	   }	// Função para converter um número do padrão americano para o padrão brasileiro	function numUsaToBr(numero)	   {	   if (numero=="")		  return "0,00";	   numero=numero.toString();	   if (numero.indexOf('.')==-1)		  numero+= ".00";	   return numero.replace(".",",");	   }</script>

Você pode inserir quantas <tr> você quiser, ou seja, quantos número você quiser. Não pode esquecer de numerar as variaveis valor[] sequencialmente.

 

Qualquer dúvida entre em contato.

 

[]s

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.