Dê uma olhada aqui:
Clique aqui
- Fórum WMO
- → Viewing Profile: Posts: unidimension
Community Stats
- Group Usuários
- Active Posts 3
- Profile Views 839
- Member Title Novato no fórum
- Age Age Unknown
- Birthday Birthday Unknown
-
Sexo
Male
-
Localidade
Brasília
0
Neutral
User Tools
Friends
unidimension hasn't added any friends yet.
Posts I've Made
In Topic: Mascaramoeda
17/10/2010, 17:47
In Topic: Formatar Dados Em Real (r$)
17/10/2010, 17:22
Galera, consegui resolver o problema, inclusive funciona nos dois navegadores.
O código é simples, prático de entender e funcional:
Primeiro o script:
Agora para utilizar:
Obs.: Eu limitei para aceitar valores até 999.999,99. O tamanho total do campo, mas vocês podem personalizar.
Espero ter ajudado.
O código é simples, prático de entender e funcional:
Primeiro o script:
function MascaraMoeda(campo){//Cada vez que a tecla é liberada... //Impedimos entrada de letras... SomenteNumeroPontoVirgula(campo); //Removemos vírgula e ponto da mácara, se tiver... var valor = limpar(campo.value,"0123456789"); //Obtemos o tamanho somente dos números... var tamanho = valor.length; if(tamanho == 3){ mascaraCampo(campo,'#,##'); } if(tamanho == 4){ mascaraCampo(campo,'##,##'); } if(tamanho == 5){ mascaraCampo(campo,'###,##'); } if(tamanho == 6){ mascaraCampo(campo,'#.###,##'); } if(tamanho == 7){ mascaraCampo(campo,'##.###,##'); } if(tamanho == 8){ mascaraCampo(campo,'###.###,##'); } } //Entrada de números e caracteres específicos apenas function SomenteNumeroPontoVirgula(campo){ var digits="0123456789,." var campo_temp for (var i=0;i<campo.value.length;i++){ campo_temp=campo.value.substring(i,i+1) if (digits.indexOf(campo_temp)==-1){ campo.value = campo.value.substring(0,i); break; } } } // Limpa um string function limpar(valor,conjuntoVerdade) { var resultado = ""; for( var a = 0; a < valor.length ; a++ ) { if ( conjuntoVerdade.indexOf(valor.substring(a,a+1)) >= 0 ) { resultado += valor.substring(a,a+1); } } return resultado; } // Formatação de mascara function mascaraCampo(campo,formatoMascara) { var valorLimpo = limpar(campo.value,"0123456789"); var resultado = ""; var b = 0; for( var a = 0; a < formatoMascara.length ; a++ ) { if ( formatoMascara.substring(a,a+1) == "#" ) { resultado = resultado + valorLimpo.substring(b,b+1); b++; if ( b >= valorLimpo.length ) { break; } } else { resultado = resultado + formatoMascara.substring(a,a+1); } } campo.value = resultado; }
Agora para utilizar:
<input type="text" id="valor" name="valor" value="${valor}" size="19" style="text-align:right" maxlength="10" onkeyup="MascaraMoeda(this)"/>
Obs.: Eu limitei para aceitar valores até 999.999,99. O tamanho total do campo, mas vocês podem personalizar.
Espero ter ajudado.
In Topic: Máscara Para Moeda
17/10/2010, 16:11
Boa Tarde,
Colegas, sou novo no fórum, e também estou procurando a mesma coisa. Um script de máscara para campo de valores númericos, moeda em real. Semelhante aos usados no banco.
Outra coisa, alguém sabe como fazer aquele campo data que tem uma imagem do lado, que após ser clicada abre uma janela com os meses para seleção da data em questão.
Pesquisei no fórum, mas não encontrei nada, ainda estou aprendendo a utilizar os recursos do portal, mas se puderem me ajudar, desde já agradeço.
Colegas, sou novo no fórum, e também estou procurando a mesma coisa. Um script de máscara para campo de valores númericos, moeda em real. Semelhante aos usados no banco.
Outra coisa, alguém sabe como fazer aquele campo data que tem uma imagem do lado, que após ser clicada abre uma janela com os meses para seleção da data em questão.
Pesquisei no fórum, mas não encontrei nada, ainda estou aprendendo a utilizar os recursos do portal, mas se puderem me ajudar, desde já agradeço.
- Fórum WMO
- → Viewing Profile: Posts: unidimension
- Privacy Policy
- Regras ·