Ir para conteúdo

POWERED BY:

Arquivado

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

shumi

Função. O que ta errado?

Recommended Posts

Galera,

To tentando fazer uma função, já fiz umas 3 parecidas, mas essa é mais complexa e acho que fiz algumas coisas que não pode...

 

Por favor veja se é esse estou indo pro caminho certo!

<script Language="JavaScript">function formatCurrency(num) {num = num.toString().replace(/\$|\,/g,'');if(isNaN(num))num = "0";sign = (num == (num = Math.abs(num)));num = Math.floor(num*100+0.50000000001);cents = num%100;num = Math.floor(num/100).toString();if(cents<10)cents = "0" + cents;for (var i = 0;i < Math.floor((num.length-(1+i))/3);i++)num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));return (((sign)?'':'-') + num);}function valor(varqtdevendida20,varqtdevendida50,varqtdevendida100,var20,var50,var100,varvezes20,varvezes50,varvezes100,var50por20,var50por50,var50por100,vartotalestabelecimento,vartotalambev){ var varqtdevendida20 = document.Cadastro.varqtdevendida20.value;var varqtdevendida50 = document.Cadastro.varqtdevendida50.value;var varqtdevendida100 = document.varqtdevendida100.value;var vartotalestabelecimento = document.Cadastro.vartotalestabelecimento.value;var vartotalambev = document.Cadastro.vartotalambev.value;if (isNaN(varqtdevendida20) || isNaN(varqtdevendida50) || isNaN(varqtdevendida100) || isNaN(var20) || isNaN(var50) || isNaN(var100) || isNaN(varvezes20) || isNaN(varvezes50) || isNaN(varvezes100) || isNaN(var50por20) || isNaN(var50por50) || isNaN(var50por100) || isNaN(vartotalestabelecimento) || isNaN(vartotalambev)){alert("Preencha os campos corretamente!");}else{var qtdevend20 = Number(varqtdevendida20);document.Cadastro.varqtdevendida20.value = formatCurrency(qtdevend20);var qtdevend50 = Number(varqtdevendida50);document.Cadastro.varqtdevendida50.value = formatCurrency(qtdevend50);var qtdevend100 = Number(varqtdevendida100);document.Cadastro.varqtdevendida100.value = formatCurrency(qtdevend100);var choop20 = qtdevend20 * 10;var varvezes20 = choop20 * 350;var var50por20 = varvezes20 / 2;var choop50 = qtdevend50 * 50;var varvezes50 = choop50 * 350;var var50por50 = varvezes50 / 2;var choop100 = qtdevend100 * 100;var varvezes100 = choop100 * 350;var var50por100 = varvezes100 / 2;var total = var50por20 + var50por50 + var50por100;document.Cadastro.total_estabelecimento.value = total;document.Cadastro.total_ambev.value = formatCurrency(total);}}</script>

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Queria saber como ficaria meu onKeyUp n input tb! eu tenho que passar quais parametros para ele?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galerinha montei meu script, mas não dá erro e não funfa tb olha como esta:

 

<html><head><title>Chopp Brahma</title><script Language="JavaScript">function formatCurrency(num) {num = num.toString().replace(/\$|\,/g,'');if(isNaN(num))num = "0";sign = (num == (num = Math.abs(num)));num = Math.floor(num*100+0.50000000001);cents = num%100;num = Math.floor(num/100).toString();if(cents<10)cents = "0" + cents;for (var i = 0;i < Math.floor((num.length-(1+i))/3);i++)num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));return (((sign)?'':'-') + num);}function valor(varqtdevendida20,varqtdevendida50,varqtdevendida100,var20,var50,var100,varvezes20,varvezes50,varvezes100,var50por20,var50por50,var50por100,vartotalestabelecimento,vartotalambev){ var varqtdevendida20 = document.Cadastro.varqtdevendida20.value;var varqtdevendida50 = document.Cadastro.varqtdevendida50.value;var varqtdevendida100 = document.varqtdevendida100.value;var vartotalestabelecimento = document.Cadastro.vartotalestabelecimento.value;var vartotalambev = document.Cadastro.vartotalambev.value;if (isNaN(varqtdevendida20) || isNaN(varqtdevendida50) || isNaN(varqtdevendida100) || isNaN(var20) || isNaN(var50) || isNaN(var100) || isNaN(varvezes20) || isNaN(varvezes50) || isNaN(varvezes100) || isNaN(var50por20) || isNaN(var50por50) || isNaN(var50por100) || isNaN(vartotalestabelecimento) || isNaN(vartotalambev)){alert("Preencha os campos corretamente!");}else{var qtdevend20 = Number(varqtdevendida20);document.Cadastro.varqtdevendida20.value = formatCurrency(qtdevend20);var qtdevend50 = Number(varqtdevendida50);document.Cadastro.varqtdevendida50.value = formatCurrency(qtdevend50);var qtdevend100 = Number(varqtdevendida100);document.Cadastro.varqtdevendida100.value = formatCurrency(qtdevend100);var choop20 = qtdevend20 * 10;var varvezes20 = choop20 * 350;var var50por20 = varvezes20 / 2;var choop50 = qtdevend50 * 50;var varvezes50 = choop50 * 350;var var50por50 = varvezes50 / 2;var choop100 = qtdevend100 * 100;var varvezes100 = choop100 * 350;var var50por100 = varvezes100 / 2;var total = var50por20 + var50por50 + var50por100;document.Cadastro.total_estabelecimento.value = total;document.Cadastro.total_ambev.value = formatCurrency(total);}}</script></head><body><!--#include File="estilo.css"--><center><table width="798" height="567" border="0" background="fundo_cad.jpg">	  <tr><td><!-- Tabela da promoção--><center>  <p> </p>  <p><span class="textocima"><br>	<br>	  Cálculo da Bonificação</span><br>	  <br></p><table width="619" height="299" border="0">  <tr>	<td height="295"><!-- Inicio da tabela de dentro 2 colunas--><table width="620" height="394" border="1">	  	<tr>		<td width="302" height="388"><p><span class="observacima">Campanha "Clube dos Técnicos !"</span><br>		  <br>		  <img src="clube_dos_tecnicos.jpg"></p>		  </td>		<td width="302"><form name="Cadastro" id="Cadastro" method="post" action=""><p>Qtde. de cartelas vendidas de 20 choop <br>						<input name="varqtdevendida20" type="text" id="varqtdevendida20" onKeyUp="valor(this,document.getElementById('varqtdevendida20'),document.getElementById('varqtdevendida50'),document.getElementById('total_ambev'),document.getElementById('total_estabelecimento'));">						<span class="texto10">Unidades</span><br>			<br>Qtde. de cartelas vendidas de 50 choop <br><input name="varqtdevendida50" type="text" id="varqtdevendida50" onKeyUp="valor(this,document.getElementById('varqtdevendida20'),document.getElementById('varqtdevendida50'),document.getElementById('total_ambev'),document.getElementById('total_estabelecimento'));"><span class="texto10">Unidades</span><br><br>Qtde. de cartelas vendidas de 100 choop <br><input name="varqtdevendida100" type="text" id="varqtdevendida100" onKeyUp="valor(this,document.getElementById('varqtdevendida20'),document.getElementById('varqtdevendida50'),document.getElementById('total_ambev'),document.getElementById('total_estabelecimento'));"><span class="texto10">Unidades</span><br>			<br>			<span class="texto10">Total AmBev</span><br>			<input name="total_ambev" type="text" id="total_ambev" onKeyUp="valor(this,document.getElementById('varqtdevendida20'),document.getElementById('varqtdevendida50'),document.getElementById('total_ambev'),document.getElementById('total_estabelecimento'));">			<span class="texto10">Total AmBev</span><br>			<br>			<span class="texto10">Total Estabelecimento</span><br>			<input name="total_estabelecimento" type="text" id="total_estabelecimento" onKeyUp="valor(this,document.getElementById('varqtdevendida20'),document.getElementById('varqtdevendida50'),document.getElementById('total_ambev'),document.getElementById('total_estabelecimento'));">			<span class="texto10">Total Estabelecimento</span></span>			<br>			</p>		  				<p><center>			  <br>			  <input type="submit" name="Submit" value="Enviar"></center>		  </p>		  </form>		</td>	  </tr>	</table><!-- fim da tabela 2 colunas--></td>  </tr></table>  <!-- Fim da tabela da promoção--></center></td>	  </tr>	</table>	<br></center></body></html>

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera podem por favor me dá uma maozinha aqui!Só falta isso pra eu terminar, mas ta muito embaçado, não acho o erro!To o dia todo em cima desse script, já tentei todo o pouco que sei de JSObrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adriano,

Não funfou e não retornou erro nenhum. :(

 

Tentei fazer e fiz assim:

function valor(varqtdevendida20,varqtdevendida50,varqtdevendida100,total_ambev,total_estabelecimento){ var var20 = document.Cadastro.varqtdevendida20.value;var var50 = document.Cadastro.varqtdevendida50.value;var var100 = document.Cadastro.varqtdevendida100.value;var vartotalestabelecimento = document.Cadastro.total_estabelecimento.value;var vartotalambev = document.Cadastro.total_ambev.value;if (isNaN(varqtdevendida20) || isNaN(varqtdevendida50) || isNaN(varqtdevendida100) || isNaN(total_ambev) || isNaN(total_estabelecimento)){alert("Preencha os campos corretamente!");}else{var qtdevend20 = Number(var20) * 20;var qtdevend50 = Number(var50) * 50;var qtdevend100 = Number(var100) * 100;var vezes20 = qtdevend20 * 350;var vezes50 = qtdevend50 * 350;var vezes100 = qtdevend100 * 350;var somatoria = vezes20 + vezes50 + vezes100;var divide = somatoria / 2;document.Cadastro.total_estabelecimento.value = divide;document.Cadastro.total_ambev.value = formatCurrency(divide);}}

E quando digito algo exibe meu alert ao invés de calcular! http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Repare que a sua function está diferente da dele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado e Adriano.

Eu mudei o calculo, tentei enxugar mais o script, mas não rolou.

Veja que o meu script ta bem menor agora, mas dá esse erro chato! http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Se eu colocar o funtion igual o do Adriano, vai dar erro, pois meu script ta totalmente diferente agora.

 

vejam:

 

<script Language="JavaScript">function formatCurrency(num) {num = num.toString().replace(/\$|\,/g,'');if(isNaN(num))num = "0";sign = (num == (num = Math.abs(num)));num = Math.floor(num*100+0.50000000001);cents = num%100;num = Math.floor(num/100).toString();if(cents<10)cents = "0" + cents;for (var i = 0;i < Math.floor((num.length-(1+i))/3);i++)num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));return (((sign)?'':'-') + num);}function valor(varqtdevendida20,varqtdevendida50,varqtdevendida100,total_ambev,total_estabelecimento){ var var20 = document.Cadastro.varqtdevendida20.value;var var50 = document.Cadastro.varqtdevendida50.value;var var100 = document.Cadastro.varqtdevendida100.value;var vartotalestabelecimento = document.Cadastro.total_estabelecimento.value;var vartotalambev = document.Cadastro.total_ambev.value;if (isNaN(varqtdevendida20) || isNaN(varqtdevendida50) || isNaN(varqtdevendida100) || isNaN(total_ambev) || isNaN(total_estabelecimento)){alert("Preencha os campos corretamente!");}else{var qtdevend20 = Number(var20) * 20;var qtdevend50 = Number(var50) * 50;var qtdevend100 = Number(var100) * 100;var vezes20 = qtdevend20 * 350;var vezes50 = qtdevend50 * 350;var vezes100 = qtdevend100 * 350;var somatoria = vezes20 + vezes50 + vezes100;var divide = somatoria / 2;document.Cadastro.total_estabelecimento.value = divide;document.Cadastro.total_ambev.value = formatCurrency(divide);}}</script>

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda tem uns errinhos na function. Veja se funciona dessa forma:

function valor(varqtdevendida20,varqtdevendida50,varqtdevendida100,total_ambev,total_estabe

lecimento){
var var20 = document.getElementById(varqtdevendida20).value;
var var50 = document.getElementById(varqtdevendida50).value;
var var100 = document.getElementById(varqtdevendida100).value;
var vartotalestabelecimento = document.getElementById(total_estabelecimento).value;
var vartotalambev = document.getElementById(total_ambev).value;
if (isNaN(var20) || isNaN(var50) || isNaN(var100) || isNaN(vartotalambev) || isNaN(vartotalestabelecimento))
{
alert("Preencha os campos corretamente!");
}
else
{
var qtdevend20 = Number(var20) * 20;
var qtdevend50 = Number(var50) * 50;
var qtdevend100 = Number(var100) * 100;
var vezes20 = qtdevend20 * 350;
var vezes50 = qtdevend50 * 350;
var vezes100 = qtdevend100 * 350;
var somatoria = vezes20 + vezes50 + vezes100;
var divide = somatoria / 2;
document.getElementById(total_estabelecimento).value = divide;
document.getElementById(total_ambev).value = formatCurrency(divide);
}
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado,

Não funfou e não exibiu erro algum...

 

Veja como esta meu arquivo quase todo:

 

<script Language="JavaScript">function valor(varqtdevendida20,varqtdevendida50,varqtdevendida100,total_ambev,total_estabelecimento){var var20 = document.getElementById(varqtdevendida20).value;var var50 = document.getElementById(varqtdevendida50).value;var var100 = document.getElementById(varqtdevendida100).value;var vartotalestabelecimento = document.getElementById(total_estabelecimento).value;var vartotalambev = document.getElementById(total_ambev).value;if (isNaN(var20) || isNaN(var50) || isNaN(var100) || isNaN(vartotalambev) || isNaN(vartotalestabelecimento)){alert("Preencha os campos corretamente!");}else{var qtdevend20 = Number(var20) * 20;var qtdevend50 = Number(var50) * 50;var qtdevend100 = Number(var100) * 100;var vezes20 = qtdevend20 * 350;var vezes50 = qtdevend50 * 350;var vezes100 = qtdevend100 * 350;var somatoria = vezes20 + vezes50 + vezes100;var divide = somatoria / 2;document.getElementById(total_estabelecimento).value = divide;document.getElementById(total_ambev).value = formatCurrency(divide);}}</script><script>function Esconde(){document.getElementById('flash').style.visibility="hidden";}</SCRIPT></head><body><!--#include File="estilo.css"--><DIV ID="flash" STYLE="position:absolute; left:93px; top:75px; z-index:11;">	<OBJECT CLASSID="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" WIDTH="640" HEIGHT="30" ID="flash">	<PARAM NAME="movie" VALUE="botoes_bonificacoes.swf" />	<PARAM NAME="quality" VALUE="hight" />	<PARAM NAME="wmode" VALUE="transparent" />	<EMBED SRC="botoes_bonificacoes.swf" QUALITY="high" WIDTH="640" HEIGHT="30" NAME="flash" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" wmode="transparent"/>	</OBJECT>	</DIV> <form name="Cadastro" id="Cadastro" method="post" action="bonifica_clube_dos_tecnicos_valida.asp"><center><table width="798" height="539" border="0" background="fundo_.jpg">	  <tr><td height="134"><div align="center">  <p class="textocima">  </p>  <p class="textocima"> </p>  <p class="textocima"><br>	<br>	<br>	Cálculo da Bonificação</p>  </div></td>	  </tr><tr><td height="365"><center>  <table width="620" height="308" border="0">	  	<tr>			  <td width="302" height="304"><br>	  <p><span class="observacima">Campanha "Clube dos Técnicos !"</span><br>		  <br>		  <img src="clube_dos_tecnicos.jpg"></p>		  </td><td width="302"><br><p>Qtde. de cartelas vendidas de 20 choop <br>						<input name="varqtdevendida20" type="text" id="varqtdevendida20" onKeyUp="valor(this,document.getElementById('varqtdevendida20'),document.getElementById('varqtdevendida50'),document.getElementById('varqtdevendida100'),document.getElementById('total_ambev'),document.getElementById('total_estabelecimento'));">						<span class="texto10">Unidades</span><br>			<br>Qtde. de cartelas vendidas de 50 choop <br><input name="varqtdevendida50" type="text" id="varqtdevendida50" onKeyUp="valor(this,document.getElementById('varqtdevendida20'),document.getElementById('varqtdevendida50'),document.getElementById('varqtdevendida100'),document.getElementById('total_ambev'),document.getElementById('total_estabelecimento'));"><span class="texto10">Unidades</span><br><br>Qtde. de cartelas vendidas de 100 choop <br><input name="varqtdevendida100" type="text" id="varqtdevendida100" onKeyUp="valor(this,document.getElementById('varqtdevendida20'),document.getElementById('varqtdevendida50'),document.getElementById('varqtdevendida100'),document.getElementById('total_ambev'),document.getElementById('total_estabelecimento'));"><span class="texto10">Unidades</span><br>			<br>			<span class="texto10">Total AmBev</span><br>			<input name="total_ambev" type="text" id="total_ambev" onKeyUp="valor(this,document.getElementById('varqtdevendida20'),document.getElementById('varqtdevendida50'),document.getElementById('varqtdevendida100'),document.getElementById('total_ambev'),document.getElementById('total_estabelecimento'));">			<span class="texto10">Total AmBev</span><br>			<br>			<span class="texto10">Total Estabelecimento</span><br>			<input name="total_estabelecimento" type="text" id="total_estabelecimento" onKeyUp="valor(this,document.getElementById('varqtdevendida20'),document.getElementById('varqtdevendida50'),document.getElementById('varqtdevendida100'),document.getElementById('total_ambev'),document.getElementById('total_estabelecimento'));">			<span class="texto10">Total Estabelecimento</span></span>			<br></p>		  				</td>	  </tr>	</table>

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troque todos os chamados para esse:

onKeyUp="valor('varqtdevendida20','varqtdevendida50','varqtdevendida100','total_ambev','total_estabelecimento');"

E teste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é essa linha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conseguimos!!!!!!

Valeu!!!!

 

AQUi

 

document.getElementById(total_estabelecimento).value = divide;

document.getElementById(total_ambev).value = divide;

 

esse final tava errado, agora funfou certinho!

 

Valeu!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.