
marvi
Membros-
Total de itens
860 -
Registro em
-
Última visita
Tudo que marvi postou
-
Falou Jonathan, obrigado! Passei 3 dias em busca de uma solução! Valeu mesmo! Até!
-
(Resolvido) Somar campos em moedas
pergunta respondeu ao marvi de marvi em Ajax, JavaScript, XML, DOM
RESOLVIDO! VALEU -
Beleza Jonathan, já resolvir! é isso mesmo que você falou, o problema é que só tinha uma variavel com a letra minuscula!! putzzz grato!
-
Tava tentando algo assim... mas vou ver o seu tb... function soma1<%=i%>(valor){ document.getElementById("valortotalitem<%=i%>").value = document.getElementById("valortotalitem<%=i%>").value + valor <input type="text" name="valor<%=i%>" id="valor<%=i%>" onkeypress="mascara(this,mreais)" onkeyup="soma<%=i%>();" onchange="java script:soma1<%=i%>(this.value)" size="27" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE" value="<%=request.form("valor"&i)%>"> Fiz o que falou, mas não faz nada... fica morto... function soma1<%=i%>(){ //document.getElementById("valortotalitem<%=i%>").value = document.getElementById("valortotalitem<%=i%>").value + valor //campo6.value = document.getElementById("valortotalitem<%=i%>") //alert("oi") var ValorItem = new Array() var ValorTotal = 0 for (i=1;i<=2;i++) { valorItem[i] = parseFloat(document.getElementById("valortotalitem" + i).value.replace(',','.')); ValorTotal += ValorItem[i] } var campo6 = document.getElementById('campo6'); campo6.value = ValorTotal campo6.value = fmtMoney(campo6.value); } <input type="text" name="valor<%=i%>" id="valor<%=i%>" onkeypress="mascara(this,mreais)" onkeyup="soma<%=i%>();" size="27" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE" value="<%=request.form("valor"&i)%>"> <input type="text" name="valortotalitem<%=i%>" id="valortotalitem<%=i%>" onkeyup="soma1<%=i%>();" size="19" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE" value="<%=request.form("valortotalitem"&i)%>" size="20"> <input type="text" id="campo6" readonly name="campo6" size="8" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE"> Fala que ValorItem não está definido...
-
(Resolvido) Somar campos em moedas
pergunta respondeu ao marvi de marvi em Ajax, JavaScript, XML, DOM
certo! -
Certo! Então, mas esse for i=1 to 2 já existe em um loop la em cima que gera todo forumlário passando por ele, devo colocar outro loop desse? Fiz o que você falou, mas ele não soma, ele acaba aí conservando o ultimo campo digitado Se dei um loop 2 vezes fez: campo 1: 10,00 (então no total sai 10,00) campo 2: 15,00 (então no total que tinha 10,00 fica 15,00) ou seja, ele substitui para o ultimo valor digitado e o certo é somar com o valor digitado... function soma1<%=i%>(){ <% valor = "" for y=1 to 2 %> var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>'); <% valor = "parseFloat(valortotalitem" & i & ".value.replace(',','.')) + " next valor = valor + "0" %> var campo6 = document.getElementById('campo6'); campo6.value = <%=valor%> campo6.value = fmtMoney(campo6.value); } Veja na prática, preencha o formulário, só na parte de Item mesmo http://www.ideiabiz.com/eletrofone/inserirprodutosok1.asp
-
Eu estava usando isso, mas ele acaba se somando no loop e não somando com outro campo do loop loop Campo 1 Campo 2 next Ele faz campo1 + campo1 e o certo é campo1+campo2 veja como eu fiz function soma1<%=i%>(){ var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>') var campo6 = document.getElementById('campo6'); campo6.value = parseFloat(valortotalitem<%=i%>.value.replace(',','.')) + parseFloat(valortotalitem<%=i%>.value.replace(',','.')) campo6.value = fmtMoney(campo6.value); } Entendeu? esses valortotalitem<%=i%> é o nome e o ID do campo que é multiplicado varias vezes, mas não funciona somando... ele auto-soma
-
(Resolvido) Somar campos em moedas
pergunta respondeu ao marvi de marvi em Ajax, JavaScript, XML, DOM
Pessoal, Te como fazer somar os campos? Tipo: Veja que já faço tudo aí, mas a soma total dos campos com o resultado multiplicado não funciona... tentei algo em javascript mas não sai... tipo um vetor, Array... em ASP tem como fazer isso? Veja que esse formulário funciona: http://www.ideiabiz.com/ok.htm Mas a questão é que conseguir fazer isso, o problema é fazer o resultado final, a soma dos campos onde tem o 40,00 na figura não funcionar em um loop de ASP, pois ele acaba auto-somando em vez de somar outros campos... Veja também o meu sistema: http://www.ideiabiz.com/eletrofone/inserirprodutosok.asp libere o POP UP do internet explorar e digite numero 2 quando ele solicitar, verá que irá gerar o Item 1 e o Item 2 Nos itens gerados tem o campo unidades, digite uma quantidade la, tipo: 2, abaixo, no final do item, já pode ir para o campo Valor unitário: e coloque um valor, tipo 20,00 e verá que no outro campo abaixo mostra o valor total deste Item, que seria o Item 1. Valor total do item 1 é o campo que mostra o valor total. Esse valor total é a multiplicação do valor digitado (os 20,00) no Valor unitário com o número 2 digitado com o campo unidades, entende? (20,00 X 2 = 40,00) Agora no topo da página tem um campo que somará o campo valor total deste Item de todos os Itens... Chamado: Valor total da nota , mas ele não soma todos os itens, como resolver? Já rodei e nada! Pode ver o HTML! Codigo fonte! Ver se ajuda essa lógica: Eu estava usando isso, mas ele acaba se somando no loop e não somando com outro campo do loop loop Campo 1 Campo 2 next Ele faz campo1 + campo1 e o certo é campo1+campo2 veja como eu fiz function soma1<%=i%>(){ var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>') var campo6 = document.getElementById('campo6'); campo6.value = parseFloat(valortotalitem<%=i%>.value.replace(',','.')) + parseFloat(valortotalitem<%=i%>.value.replace(',','.')) campo6.value = fmtMoney(campo6.value); } Entendeu? esses valortotalitem<%=i%> é o nome e o ID do campo que é multiplicado varias vezes, mas não funciona somando... ele auto-soma -
ninguém?
-
OLá pessoal, como faço para acumular valores em um loop? Estava tentando fazer isso: soma=0 for(i=0; i<=10; i++) { soma += soma } alert("A soma de " + soma); } Algo que faz assim: 2+2+2=6 Algo assim não sei...
-
(Resolvido) Somar campos em moedas
pergunta respondeu ao marvi de marvi em Ajax, JavaScript, XML, DOM
Não sei como fazer, mas queria saber se esse script tem como fazer isso: Veja que tem um loop onde esse valortotalitem é um campo do form e que vai se multiplicando de acordo com loop, se o loop for de for i=1 to 4, por exemplo, ele vai gerar 4 campos valortotalitem... Beleza, esse Loop é capaz de ir gerando os campos valortotalitem e contando com o <%=i%> para informar que são campos duplicados, mas com o Name do campo diferentes... Agora como fazer somar esses campos depois de o loop terminar? Cada campo gerado pelo loop a pessoa vai digitar em moeda R$ um valor, tipo 20,00 e se for dois loops serão dois campos digitados 20,00 Campo valortotalitem1: 20,00 Campovalortotalitem2: 20,00 Aí eu estou chamando a função abaixo para somar esses campos com loops acima, veja: function soma<%=i%>(){ var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>'); var valor<%=i%> = document.getElementById('valor<%=i%>'); var quantidadev<%=i%> = document.form.unidades<%=i%>.value; valortotalitem<%=i%>.value = parseFloat(valor<%=i%>.value.replace(',','.')) * quantidadev<%=i%>; valortotalitem<%=i%>.value = fmtMoney(valortotalitem<%=i%>.value); window.onload=soma1<%=i%>() } function soma1<%=i%>(){ var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>') var campo6 = document.getElementById('campo6'); campo6.value = parseFloat(valortotalitem<%=i%>.value.replace(',','.')) + parseFloat(valortotalitem<%=i%>.value.replace(',','.')) campo6.value = fmtMoney(campo6.value); } </script> Mas o que acontece é que não funciona... acho que eu deveria ir guardando as informações dos campos gerados para somar tudo, tem como? uma idéia, mas não entendi bem... veja meu loop <%for i=1 to session("qtitem"%> function soma1<%=i%>(){ var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>') var campo6 = document.getElementById('campo6'); campo6.value = parseFloat(valortotalitem<%=i%>.value.replace(',','.')) + parseFloat(valortotalitem<%=i%>.value.replace(',','.')) campo6.value = fmtMoney(campo6.value); } <%next%> <input type="text" id="campo6" readonly name="campo6" size="8" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE"> Só que ele faz soma do próprio campo e não do outro campo que foi gerado pelo loop... Se gerou 2 loops então: campo 1 = 20,00 campo 2 = 15,00 total = 35,00 Só que na hora da soma fica campo1+campo1 (20,00+20,00) e o certo é campo1+campo2 (20,00+15,00) Estava tentando fazer algo tipo.... function soma2<%=i%>(){ var planetas<%=i%> = new Array() planetas<%=i%>[<%=i%>] = document.getElementById('valortotalitem<%=i%>') document.write(planetas<%=i%>[<%=i%>] + "<br />") } alguém sabe colocar a sintaxe para ver se acumula valores: Início {Encontra a soma dos valores} Variáveis: Inteiro: Valor, Soma; Instruções: Soma <- 0; {Inicializa a variável Soma} Leia (Valor); {Primeira leitura} Repita Soma <- Soma + Valor; {Acumula valor} Leia (Valor); {Leitura dos demais valores} Até Valor = -1; Imprima ('O VALOR TOTAL É:',Soma); {Mostra o resultado} Fim. -
(Resolvido) Somar campos em moedas
pergunta respondeu ao marvi de marvi em Ajax, JavaScript, XML, DOM
Não, está errado aí... Você está somando tudo! Eu quero só somar os resultados que são na verdade o valor final de uma multiplicação por 2, entendeu? Onde tem o campo valor total 1 e valor total 2 é exibido o valor da multiplicação por 2 digitada nos campos valor digitado em R$ 1 e valor digitado em R$ 2 e assim quero somar esses resultados e exibir no último campo abaixo Veja uma figura para ver se entende: Foi digitado 10,00 que multiplicou por 2 = 20,00 novamente Foi digitado 10,00 que multiplicou por 2 = 20,00 Quero a soma do resultado dessa multiplicação 20,00 + 20,00 = 40,00 Como fazer isso? Resolvir, veja o html http://www.ideiabiz.com/ok.htm Agora se eu colocar em um loop isso não roda... porque? function soma<%=i%>(){ var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>'); var valor<%=i%> = document.getElementById('valor<%=i%>'); var quantidadev<%=i%> = document.form.unidades<%=i%>.value; valortotalitem<%=i%>.value = parseFloat(valor<%=i%>.value.replace(',','.')) * quantidadev<%=i%>; valortotalitem<%=i%>.value = fmtMoney(valortotalitem<%=i%>.value); window.onload=soma1() } function soma1(){ var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>') var campo6 = document.getElementById('campo6'); campo6.value = parseFloat(valortotalitem<%=i%>.value.replace(',','.')) campo6.value = fmtMoney(campo6.value); } </script> <tr> <td width="100%" colspan="2" height="16"> <font face="Verdana" style="font-size: 8pt" color="#2A2A2A">Valor unitário: </font> <input type="text" name="valor<%=i%>" id="valor<%=i%>" onkeypress="mascara(this,mreais)" onkeyup="soma<%=i%>()" onkeyup="soma1();" size="27" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE" value="<%=request.form("valor"&i)%>"></td> </tr> <tr> <td width="100%" colspan="2" height="16"> <font face="Verdana" style="font-size: 8pt" color="#2A2A2A">Valor total do item <%=i%>: </font> <input type="text" name="valortotalitem<%=i%>" id="valortotalitem<%=i%>" size="19" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE" value="<%=request.form("valortotalitem"&i)%>"></td> </tr> </table> <input type="text" id="campo6" readonly name="campo6" size="8" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE"> ELe soma o total do item, mas não soma o total completo... -
(Resolvido) Somar campos em moedas
pergunta respondeu ao marvi de marvi em Ajax, JavaScript, XML, DOM
Pessoal, coloquei um exemplo na Internet para que vocês possam ver funcionando uns campos e possam também olhar o código acessando o código fonte do HTML, pois assim acho que vai ficar mais prática para que possam enteder. Acesse: http://www.ideiabiz.com/ok.htm Verá que lá tem duas linhas, cada uma com o campo horizontal. A pessoa digita qualquer valor em moeda R$ em um campo e ao mesmo tempo é multiplicado por 2 e exibido do lado o valor total dessa multiplicação. E assim vai, tem outra linha com outro campo abaixo que serve para mesma coisa... Até aí conseguir chegar. O que quero saber é como fazer com que o último campo some todos os campos que mostra o valor total dessa multiplicação acima dele? Veja que tem valor total 1 e valor total 2 e como fazer para somar valor total 1 mais valor total 2 e exibir no campo de valores totais abaixo? Obrigado! Marcelo -
(Resolvido) Somar campos em moedas
pergunta respondeu ao marvi de marvi em Ajax, JavaScript, XML, DOM
Pessoal, eu tenho um formulário dinâmico que pode ser gerado, multiplicado varias vezes, abaixo ele é multiplicado duas vezes através de um loop... Veja que a seção Item, está Item 1 e Item 2, essa seção gerou duas vezes no loop. Veja a figura: http://www.ideiabiz.com/testee.jpg Veja também que o Item 1 e o Item 2 tem um campo chamado Valor unitário, nesse campo a pessoa digita o valor do produto, no item 1 por exemplo tem digitado R$ 100,00 e logo abaixo tem um campo chamado valor total do item 1 que é 200,00 pois um pouco acima no campo unidades a pessoa digitou o número 2 acusando 2 produtos que cada um custa 100,00 que foi digitado no campo Valor unitário, como falei antes. Entendeu? Até aí tudo bem, o valor digitado no campo Valor unitário é multiplicado pela quantidade de unidades ou produtos digitados no campo Unidades. Isso funciona no item 2 também e assim vai, não importa quantos itens o usuário gerar... A questão é que quero saber como somar o campo valor total do item 1 com o valor total do item 2 para poder exibir lá no campo que fica no topo do formulário chamado Valor total da nota que está do lado de uma marca vermelha que deixei como referência, para acharem o campo. Como fazer isso? Abaixo segue a parte do código que já faz isso tudo que citei acima. <%for i=1 to session("qtitem") %> <script type="text/javascript"> function mascara(o,f){ v_obj=o v_fun=f setTimeout("execmascara()",1) } function execmascara(){ v_obj.value=v_fun(v_obj.value) } function mreais(v){ v=v.replace(/\D/g,"") //Remove tudo o que não é dígito v=v.replace(/(\d{2})$/,",$1") //Coloca a virgula v=v.replace(/(\d+)(\d{3},\d{2})$/g,"$1.$2") //Coloca o primeiro ponto return v } function fmtMoney(n, c, d, t){ var m = (c = Math.abs(c) + 1 ? c : 2, d = d || ",", t = t || ".", /(\d+)(?:(\.\d+)|)/.exec(n + "")), x = m[1].length > 3 ? m[1].length % 3 : 0; return (x ? m[1].substr(0, x) + t : "") + m[1].substr(x).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + (+m[2] || 0).toFixed(c).substr(2) : ""); }; function soma<%=i%>(){ var valortotalitem<%=i%> = document.getElementById('valortotalitem<%=i%>'); var valor<%=i%> = document.getElementById('valor<%=i%>'); var quantidadev<%=i%> = document.form.unidades<%=i%>.value; valortotalitem<%=i%>.value = parseFloat(valor<%=i%>.value.replace(',','.')) * quantidadev<%=i%>; valortotalitem<%=i%>.value = fmtMoney(valortotalitem<%=i%>.value); } </script> <tr> <td width="100%" colspan="2" height="16"> <font face="Verdana" style="font-size: 8pt" color="#2A2A2A">Valor unitário: </font> <input type="text" name="valor<%=i%>" id="valor<%=i%>" onkeypress="mascara(this,mreais)" onkeyup="soma<%=i%>()" size="27" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE" value="<%=request.form("valor"&i)%>"></td> </tr> <tr> <td width="100%" colspan="2" height="16"> <font face="Verdana" style="font-size: 8pt" color="#2A2A2A">Valor total do item <%=i%>: </font> <input type="text" name="valortotalitem<%=i%>" id="valortotalitem<%=i%>" size="19" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE" value="<%=request.form("valortotalitem"&i)%>"></td> </tr> </table> <%next%> Alguém sabe uma solução? é difícil isso? -
Olá Rafael, tudo tranquilo sim! :) Descobri, problemas é na variável, estão diferentes... que uns tem request.form e outros são só request Obrigado!
-
Alguém sabe o porque desse erro? Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C) O comando de texto não foi definido para o objeto de comando. /vivo/inserirprodutossql.asp, line 117 if erro = 0 then qtdItens = request("qtd_itens") sqlnotas = "INSERT INTO notas (fornecedor, dataauto, nota, datanota, loja, estoque, codigoauto, hora) VALUES ('" & request.form("fornecedor") & "','" & request.form("dataauto") & "','" & request.form("nota") & "','" & request.form("datanota") & "','" & request("loja") & "','" & request.form("estoque") & "','" & request("codigo") & "','" & request.form("horaauto") & "')" LINHA 117 Set rsnotas=Conexao.Execute(slqnotas) for i = 1 to qtdItens total_produtos = cint(request("unidades"&i)) ' response.write(total_produtos & "---" & cstr( i ) & "<br><br>") for op = 1 to total_produtos sql = "insert into produtos (fabricante, unidades, modelo, cor, plano, estado, tipo, descricao, valor, valortotalitem, imei_serial) values " sql = sql & "('" & request("fabricante" & cstr(i)) & "','" & request("unidades" & cstr(i)) & "', '" sql = sql & request("modelo" & cstr(i)) & "','" & request("cor" & cstr(i)) & "','" & request("plano" & cstr(i)) & "','" & request("estado" & cstr(i)) & "','" & request("tipo" & cstr(i)) & "','" & request("descricao" & cstr(i)) & "','" & request("valor" & cstr(i)) & "','" & request("valortotalitem" & cstr(i)) & "', '" sql = sql & request("opcao_" & cstr(i) & "_" & cstr(op)) & "')" 'response.write(request("opcao_" & cstr(i) & "_" & cstr(op)) & "<br>") 'response.write sql Set rsprodutos=Conexao.Execute(sql) 'response.write "<br>" next next Obrigado Marcelo
-
Pode deixar, resolvir!
-
Pessoal, não sei se vão entender! Eu estou dando um loop no formulário junto com esse script abaixo, pois esse script ele multiplica os valores digitados nos formulários duplicado com o loop... Mas a formatação quando digita os valores em R$ não funciona nos primeiros campos só no ultimo campo, alguém sabe como faço para esse loop deixar formatar / máscara os valores digitados no campo? <%for i=1 to session("qtitem") %> <script type="text/javascript"> addEvent<%=i%> = function(o, e, f, s) { var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d; r[r.length] = [f, s || o], o[e] = function(e){ try{ (e = e || event).preventDefault<%=i%> || (e.preventDefault<%=i%> = function(){e.returnValue = false;}); e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;}); e.target || (e.target = e.srcElement || null); e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0; }catch(f){} for(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false)); return e = null, !!d; } }; function formatCurrency<%=i%>(o, n, dig, dec) { o.c = !isNaN(n) ? Math.abs(n) : 2; o.dec = typeof dec != "string" ? "," : dec, o.dig = typeof dig != "string" ? "." : dig; addEvent<%=i%>(o, "keypress", function(e) { if (e.key > 47 && e.key < 58) { var o, s, l = (s = ((o = this).value.replace(/^0+/g, "") + String.fromCharCode(e.key)).replace(/\D/g, "")).length, n; if(o.maxLength + 1 && l >= o.maxLength) return false; l <= (n = o.c) && (s = new Array(n - l + 2).join("0") + s); for(var i = (l = (s = s.split("")).length) - n; (i -= 3) > 0; s[i - 1] += o.dig); n && n < l && (s[l - ++n] += o.dec); o.value = s.join(""); } e.key > 30 && e.preventDefault<%=i%>(); }); } function fmtMoney(n, c, d, t){ var m = (c = Math.abs(c) + 1 ? c : 2, d = d || ",", t = t || ".", /(\d+)(?:(\.\d+)|)/.exec(n + "")), x = m[1].length > 3 ? m[1].length % 3 : 0; return (x ? m[1].substr(0, x) + t : "") + m[1].substr(x).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + (+m[2] || 0).toFixed(c).substr(2) : ""); }; function soma<%=i%>() { var f = document.forms[0]; var valor1 = parseFloat(f.valor<%=i%>.value.replace('.','').replace(',','.')); var valor2 = parseFloat(f.quantidadev<%=i%>.value); var valor3 = ('' + ((valor1||0) * (valor2||0))); f.valortotalitem<%=i%>.value = fmtMoney(valor3); } function init<%=i%>() { formatCurrency<%=i%>(document.forms[0].valor<%=i%>, 2, ".", ","); } window.onload = init<%=i%>; </script> <input type="hidden" name="quantidadev<%=i%>" onkeyup="soma<%=i%>()" > <tr> <td width="100%" colspan="2" height="16"> <font face="Verdana" style="font-size: 8pt" color="#2A2A2A">Valor unitário: </font> <input type="text" name="valor<%=i%>" onkeyup="soma<%=i%>()" size="27" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE" value="<%=request.form("valor"&i)%>"></td> </tr> <tr> <td width="100%" colspan="2" height="16"> <font face="Verdana" style="font-size: 8pt" color="#2A2A2A">Valor total do item <%=i%>: </font> <input type="text" name="valortotalitem<%=i%>" onKeyUp="Calculanota()" size="19" style="font-family: Verdana; font-size: 10 px; color: #3A5278; border: 1px solid #3A5278; background-color:#EEEEEE"></td> </tr> </table> <%next%> Obrigado!
-
(Resolvido) Somar campos em moedas
pergunta respondeu ao marvi de marvi em Ajax, JavaScript, XML, DOM
Resolvir, segue uma solução com formatação, máscara e tudo: <script type="text/javascript"> addEvent = function(o, e, f, s) { var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d; r[r.length] = [f, s || o], o[e] = function(e){ try{ (e = e || event).preventDefault || (e.preventDefault = function(){e.returnValue = false;}); e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;}); e.target || (e.target = e.srcElement || null); e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0; }catch(f){} for(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false)); return e = null, !!d; } }; function formatCurrency(o, n, dig, dec) { o.c = !isNaN(n) ? Math.abs(n) : 2; o.dec = typeof dec != "string" ? "," : dec, o.dig = typeof dig != "string" ? "." : dig; addEvent(o, "keypress", function(e) { if (e.key > 47 && e.key < 58) { var o, s, l = (s = ((o = this).value.replace(/^0+/g, "") + String.fromCharCode(e.key)).replace(/\D/g, "")).length, n; if(o.maxLength + 1 && l >= o.maxLength) return false; l <= (n = o.c) && (s = new Array(n - l + 2).join("0") + s); for(var i = (l = (s = s.split("")).length) - n; (i -= 3) > 0; s[i - 1] += o.dig); n && n < l && (s[l - ++n] += o.dec); o.value = s.join(""); } e.key > 30 && e.preventDefault(); }); } function fmtMoney(n, c, d, t){ var m = (c = Math.abs(c) + 1 ? c : 2, d = d || ",", t = t || ".", /(\d+)(?:(\.\d+)|)/.exec(n + "")), x = m[1].length > 3 ? m[1].length % 3 : 0; return (x ? m[1].substr(0, x) + t : "") + m[1].substr(x).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + (+m[2] || 0).toFixed(c).substr(2) : ""); }; function soma() { var f = document.forms[0]; var valor1 = parseFloat(f.campo1.value.replace('.','').replace(',','.')); var valor2 = parseFloat(f.campo2.value=2); var valor3 = ('' + ((valor1||0) * (valor2||0))); f.campo3.value = fmtMoney(valor3); } function init() { formatCurrency(document.forms[0].campo1, 2, ".", ","); } window.onload = init; </script> <form> <input name="campo1" onkeyup="soma()" size="20" /> + <input name="campo2" onkeyup="soma()" size="20" /> = <input name="campo3" size="20" /> </form> Grato! -
(Resolvido) Somar campos em moedas
pergunta respondeu ao marvi de marvi em Ajax, JavaScript, XML, DOM
Fiz o que você falou, mas está inconsistente os dados... se eu digitar um campo R$: 1,20 e no outro campo 2 ele mostra: 20 E o certo é que 1,20 * 2 = 2,4 -
(Resolvido) Somar campos em moedas
pergunta respondeu ao marvi de marvi em Ajax, JavaScript, XML, DOM
Tipo, no campo a pessoa digita 12,80 e no outro campo digita um numero para multiplicar, por exemplo 2 que dar o total de 25,6 Exemplo: Campo 1: 2 Campo 2: 12,80 Total: 25,6 (pois 12,80 X 2 é 25,6) Igual o que esse script que mostrei acima faz... mas que ele considere as cadas decimais, algo assim para poder multiplicar tudo...entendeu? -
Pessoal, estou tentando obter um script que multiplique os valores que for digitado em um campo do formulário em R$ (real) Encontrei esse, mas não faz cálculos em moedas: <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> <body> <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:<input type="text" name="EditValorTotal" size="20" style="border: 1px solid #FFFFFF"><BR><BR> </form> Alguém sabe um script que possa fazer multiplicação em moedas? Tipo: 12,80 Obrigado! Marcelo
-
Esse serial pode ser já o codigo do produto que será exibido na nota? Geralmente o serial vai ate 20 caracters...
-
Ele tem o leitor de codigo de barras para cadastrar os produtos, mas nesse caso esse codigo só mostrará o serial do produto...