Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Soma de campos com máscara

21-11-2007 23:33

Esse script, permite a soma de valores de dois inputs, assim que eles forem digitados, além de já ir adicionando as máscaras de valores em cada input e retornando o valor total da soma.
<script language="JavaScript" type="text/javascript"> function teclas(event){ if(((event.keyCode < 96) || (event.keyCode > 105)) && ((event.keyCode < 48) || (event.keyCode > 57)) ) { campo.value = campo.value.replace(String.fromCharCode(event.keyCode).toLowerCase(),""); } } function numMoeda(event,campo){ teclas(campo); str = campo.value; while(str.search(",") != -1) str = str.replace(",",""); i = 0; while(i< str.length){ if(str.substr(i,1) == ".") str = str.replace(".",""); i++; } part1 = str.substr(0,str.length - 2); while(part1.search(" ") != -1) part1 = part1.replace(" ",""); part2 = str.substr(str.length - 2,2); res = ""; i = part1.length; sob = i % 3; if((sob != 0) && (i > 2)) res = part1.substr(0,sob) + "."; else res = part1.substr(0,sob); j = 1; part1 = part1.substr(sob); i = 0; while(i < part1.length){ if(j == 3){ if(i + 1 == part1.length) res = res + part1.substr(i-2,3); else res = res + part1.substr(i-2,3) + "."; } i++; j = j<3?j+1:1; } campo.value = res + "," + part2; } function soma() { campo1 = document.form.valor1.value; campo1 = campo1.replace(/[.]/g, ""); campo1 = campo1.replace(/[,]/g, ""); campo2 = document.form.valor2.value; campo2 = campo2.replace(/[.]/g, ""); campo2 = campo2.replace(/[,]/g, ""); if(campo1!="" && campo2!="") { total = parseFloat(campo1)+parseFloat(campo2); document.form.total.value=parseFloat(total); } } </script> <form name="form"> <input type="text" name="valor1" value="" onkeyup="soma();numMoeda(event,this);"> <input type="text" name="valor2" value="" onkeyup="soma();numMoeda(event,this);numMoeda(event,total);"> <input type="text" name="total" value=""> </form>

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado