Jump to content


Photo

Campo Perder O Foco


  • Faça o login para participar
3 replies to this topic

#1 ariana

ariana

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 29/03/2006, 09:11

Por exemplo, para formatar um campo com valor monetario (assim q digitar o algoritmo ja vai colocand os pontos e as virgulas) utilizei o seguinte codigo:

<script language="JavaScript">
function FormataValor(campo,tammax,teclapres) {
var tecla = teclapres.keyCode;
vr = document.form[campo].value;
vr = vr.replace( "/", "" );
vr = vr.replace( "/", "" );
vr = vr.replace( ",", "" );
vr = vr.replace( ".", "" );
vr = vr.replace( ".", "" );
vr = vr.replace( ".", "" );
vr = vr.replace( ".", "" );
tam = vr.length;
if (tam < tammax && tecla != 8){ tam = vr.length + 1; }
if (tecla == 8 ){ tam = tam - 1; }
if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
if ( tam <= 2 ){
document.form[campo].value = vr; }
if ( (tam > 2) && (tam <= 5) ){
document.form[campo].value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ); }
if ( (tam >= 6) && (tam <= 8) ){
document.form[campo].value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); }
if ( (tam >= 9) && (tam <= 11) ){
document.form[campo].value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr(
tam
-
2,

tam
);
}
if ( (tam >= 12) && (tam <= 14) ){
document.form[campo].value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr(
tam
-
5,

3
)
+
','
+
vr.substr(
tam
-
2,

tam
);
}
if ( (tam >= 15) && (tam <= 17) ){
document.form[campo].value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr(
tam
-
8,

3
)
+
'.'
+
vr.substr(
tam
-
5,

3
)
+
','
+
vr.substr(
tam - 2, tam );}
}
}

</script>

O que eu quero fazer agora é, depois de digitado os valores em 2 text fields o terceiro fará a soma desses dois e deverá estar formatado tambem com pontos e vigula...
como eu poderia escrever isso? utilizando esse algoritmo, é possivel fazer?
Alguém poderia me ajudar por favor?


Obrigada,

Ariana

#2 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 29/03/2006, 10:54

Utilizando este algoritmo aí não. O que você pode fazer é montar uma função com a idéia deste aí. Antes é necessário que você faça a soma (que precisará de uma formatação do tipo 1000.00 (Um mil)) dos valores e depois, passe esse valor para essa nova função a ser criada.
Eduardo Batista

#3 ariana

ariana

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

Posted 29/03/2006, 13:53

Utilizando este algoritmo aí não. O que você pode fazer é montar uma função com a idéia deste aí. Antes é necessário que você faça a soma (que precisará de uma formatação do tipo 1000.00 (Um mil)) dos valores e depois, passe esse valor para essa nova função a ser criada.



Mas tem como eu só formatar o campo né?
é pq a soma eu quero fazer em um outro programa e o valor a ser passado estar com pontos e virgula.


Obrigada,


Ariana

#4 Andreia Regina

Andreia Regina

    Veterano

  • Conselheiros
  • 1347 posts
  • Sexo:Feminino
  • Localidade:PR
  • Interesses:PHP; MySQL; Javascript; CSS; tudo ligado ao desenvolvimento web.

Posted 29/03/2006, 14:04

Oi!

Vê se este tópico te ajuda: http://forum.wmonlin...ndpost&p=485590

Uma dica: procure colocar o código dentro da tag "code" facilita a visualização ;)

Fórum WMO - Conselheira - Na equipe desde 31/01/2006.
Links importantes: Regras de conduta - Busca do fórum





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq