Ir para conteúdo

POWERED BY:

Arquivado

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

Noodle

Multiplicar valores

Recommended Posts

Galera,

 

Nao manjo nda de JS e to precisando de uma função que faça uma simples conta de multiplicação... sei que é simples mas como eu disse, nao manjo nda de JS... =(

 

É o seguinte... tenho 3 campos... um de valor unitario, outro de quantidade e outro de valor total. O que preciso é apenas pegar o valor unitario, multiplicar pela quantidade e jogar esse valor em valor total. Se fosse em ASP, era sussegado... mas preciso dessa função em JS...

 

É mais ou menos assim:

 

Valor Unitario - Quantidade - Valor Total

 

Sendo que:

Valor Unitario - É um textfield

Quantidade - É um valor trazido do recordset (rs.qtd)

Valor total - É um textfield

Compartilhar este post


Link para o post
Compartilhar em outros sites

AAlves,

 

Nao tenho como testar aqui no pc q eu to... nao tenho os arquivos .asp aqui e nem o IIS... =(

 

Bom, entendi o JS q você postou mas creio q vou precisar de alguns eventos... é mais ou menos assim:

 

- O primeiro FORM chama Valor_Unitario;

- O segundo FORM chama Valor_Total;

- A quantidade é um campo da tabela que eu pego atraves de um Recordset. O nome dele é rs.quantidade.

 

O JS precisa pegar o valor do Valor_Unitario e multiplicar com o rs.quantidade e jogar o resultado em Valor_Total.

 

Creio que vou precisar usar o evento onchange para que qdo apertar o TAB em Valor_Unitario, ele jogue o resultado da multiplicação em Valor_Total.

 

você tem alguma ideia de como ficaria esse JS?

Compartilhar este post


Link para o post
Compartilhar em outros sites

AAlves,

 

Kra, tentei de tudo por aqui mas nao saiu ... =(

 

Vou postar um codigo pra ver se você pode dar um help...

 

<html><head><title>Untitled Document</title><script language="javascript">function CalculaTotal(num){valor = num * }</script></head><body><form name="form1" method="post" action="">  <p>Valor Unitário:<br>    <input name="valor_unitario" type="text" id="valor_unitario" onBlur="javasript:CalculaTotal" value="0,0000">  </p>  <p>Quantidade: <%=rs("quantidade")%></p>  <p>Valor Total: <br>    <input name="valor_total" type="text" id="valor_total">  </p></form></body></html>

Se você puder dar um help, ficaria mto agradecido... =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

AAlves,Mto obrigado pela força!!! =)Mas eu ja tinha conseguido fazer o esquema... tive que aprender na marra JS... ehehehe...Eu fiz assim:No evento onblur do campo valor_unitario, eu chamei a funcao que faz a multiplicacao... passei o objeto valor_unitario, a quantidade e o nome do formulario para onde ele ia jogar o valor calculado...Ficou mais ou menos assim:<input name="valor_unitario" type="text" onBlur="CalculaTotal(this,<%=rs("quantidade")%>,valor_total);" value="0,0000">Na funcao eu peguei o valor do valor_unitario com o .value e multipliquei com a quantidade... aí armazenei o valor multiplicado no valor_total... tive q usar uma formatacao de decimais pois o campo era de 4 casas decimais... usei a funcao tofixed(4) e funfou numa boa...Amanha se quiser eu posto a funcao certim... é que nao me lembro de cabeça pq deu mo trampo por causa q tive q formatar o campo dando alguns replaces... eheheheDeu trampo mas pelo menos eu aprendi um pouco de JS!!! =)Vlw pela ajuda kra!!! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa...

 

Malz pela demora galera... ta aqui a funcao pra formatar campo montetario para 4 casas decimais:

 

function FormataNum(campo, ponto, virgula, e) {var sep = 0;var key = '';var i = j = 0;var len = len2 = 0;var numeros = '0123456789';var aux = aux2 = '';var codigo = (window.Event) ? e.which : e.keyCode;if (codigo == 13)return true;key = String.fromCharCode(codigo);if (numeros.indexOf(key) == -1) return false;len = campo.value.length;for(i = 0; i < len; i++)if ((campo.value.charAt(i) != '0') && (campo.value.charAt(i) != virgula)) break;aux = '';for(; i < len; i++)if (numeros.indexOf(campo.value.charAt(i))!= -1) aux += campo.value.charAt(i);aux += key;len = aux.length;if (len == 0) campo.value = '';if (len == 1) campo.value = '0' + virgula + '0' + '0' + '0' + aux;if (len == 2) campo.value = '0' + virgula + '0' + '0' + aux;if (len == 3) campo.value = '0' + virgula + '0' + aux + aux2;if (len == 4) campo.value = '0' + virgula + aux + aux2 + aux2;if (len > 4) {aux2 = '';for (j = 3, i = len - 5; i >= 0; i--) {if (j == 3) {aux2 += ponto;j = 0;}aux2 += aux.charAt(i);j++;}campo.value = '';len2 = aux2.length;for (i = len2 - 1; i > 0; i--)campo.value += aux2.charAt(i);campo.value += virgula + aux.substr(len - 4, len);}return false;}

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.