Ir para conteúdo


Foto

Classe para campos com mascara - MaskedTextField


  • Por favor, faça o login para responder
19 respostas neste tópico

#1 andré luis

andré luis

    Novato

  • Membros
  • PipPip
  • 11 posts

Postado 08 April 2009 - 23:56

Pessoal é meu segundo post aki no forum e ai vai uma classezinha pra mascara..
Por favor comentem...vlw

http://www.4shared.c...-04.html<br />

#2 sethend

sethend

    Member Avançado

  • Membros
  • PipPipPip
  • 240 posts
  • LocationAraraquara-SP

Postado 09 April 2009 - 08:38

André parabéns cara ficou muito bom. Legal valeu por compartilhar.
Em casa de ferreiro o WINDOWS da pau!

#3 EthraZa

EthraZa

    Member Avançado

  • Expert User
  • 542 posts
  • LocationSão Paulo

Postado 09 April 2009 - 17:27

Muito bom... principalmente a opcao reverse para campos monetarios.

Soh 1 coisa!
No load de um Form, se vem o valor da base sem mascara, o campo nao mascara o valor. So muda se eu for ate o campo e altera-lo. A mesma coisa acontece com setValue.

Vc tem alguma sugestao de como fazer o campo acertar a mascarar quando for jogado um valor nele com ou sem mascara?

Vlw!
Mandriva Linux in LAMPE (Linux/Apache/MySql/Php/Ext)

#4 andré luis

andré luis

    Novato

  • Membros
  • PipPip
  • 11 posts

Postado 13 April 2009 - 10:37

Desculpe a demora.
EthraZa, porderia mandar um exemplo de codigo onde aconteceria isso.
Obg.

#5 EthraZa

EthraZa

    Member Avançado

  • Expert User
  • 542 posts
  • LocationSão Paulo

Postado 13 April 2009 - 13:52

Ueh! Nas propria pagina de exemplo que vem junto com o download, se vc abrir o FireBug e der o comando Ext.getCmp('campo1').setValue(1234567890) vai ver que o numero aparece no campo sem mascara. O mesmo acontece em todos os campos! Tanto com setValue como com o load do form, pois no final das contas sao praticamente a mesma coisa.
Mandriva Linux in LAMPE (Linux/Apache/MySql/Php/Ext)

#6 Juliano.coelho

Juliano.coelho

    Member Avançado

  • Membros
  • PipPipPip
  • 532 posts
  • LocationPetropolis - RJ

Postado 13 April 2009 - 15:18

Soh 1 coisa!
No load de um Form, se vem o valor da base sem mascara, o campo nao mascara o valor. So muda se eu for ate o campo e altera-lo. A mesma coisa acontece com setValue.

Vc tem alguma sugestao de como fazer o campo acertar a mascarar quando for jogado um valor nele com ou sem mascara?


Estava eu a analisando o que foi dito pelo  EthraZa e tentei algo em relação ao listeners mas percebi que não funcionaria então cheguei a conclusão que teria que ser algo relacionado ao load do formulario, como meu conhecimento do EXTJS é de iniciante deixo uma sugestão e pergunta ao mesmo tempo: teria que ser algo relacionado com  Class Ext.form.Action.Load !?


Juliano Coelho

#7 andré luis

andré luis

    Novato

  • Membros
  • PipPip
  • 11 posts

Postado 13 April 2009 - 15:33

ahhh.
Ext.getCmp('campo1').setValue(1234567890);
Ext.getCmp('campo1').applyMask();
Assim resolve, acho q não é a melhor forma, vou pensar em uma melhor.
Sugestoes...

#8 EthraZa

EthraZa

    Member Avançado

  • Expert User
  • 542 posts
  • LocationSão Paulo

Postado 14 April 2009 - 04:48

Eh q eu estou atolado de trabalho... simplesmente nao tenho tempo nem pra olhar o codigo, mas acredito a solucao seja algo como chamar o applyMask de dentro de algum metodo como o setValues, beforeBlur, onChange, onValid ou algo relacionado.
Mandriva Linux in LAMPE (Linux/Apache/MySql/Php/Ext)

#9 andré luis

andré luis

    Novato

  • Membros
  • PipPip
  • 11 posts

Postado 14 April 2009 - 17:22

problema do setValue resolvido e agora com tipo registrado

http://www.4shared.c...xtField-05.html


#10 Juliano.coelho

Juliano.coelho

    Member Avançado

  • Membros
  • PipPipPip
  • 532 posts
  • LocationPetropolis - RJ

Postado 14 April 2009 - 17:36

Excelente !!!!!!  ;)  e Obrigado por compartilhar.
Juliano Coelho

#11 sethend

sethend

    Member Avançado

  • Membros
  • PipPipPip
  • 240 posts
  • LocationAraraquara-SP

Postado 17 April 2009 - 14:05

André Luis, como diria um jogo que jogo a muito tempo EXCELENT! (Mortal Kombat).

Mais tem um detalhe interessante seu código,  a parte do decimal reverse, ele faz a mesma função de um numerador em reais, ele vai acrescentado a virgula e os pontos conforme vc vai digitando, agora o decimal normal ele vai acrescentado somente os pontos e depois de ter preenchido completamente o campo ele preenche com a virgula. interessante, mais meus parabéns pelo EXCELENT trabalho, de 0 a 10 vc está em 11. abraços.
Em casa de ferreiro o WINDOWS da pau!

#12 Fabyo

Fabyo

    Member Avançado

  • Administrators
  • 678 posts
  • LocationSão Paulo

Postado 17 April 2009 - 15:00

Legal sua classe

só tem uns pequenos bugs, tipo no campo Nova formula se vc pressionar e segurar ele aceita digirar mais caracteres

e outra coisa prefiro usar o metodo keydown assim o usuario nao fica vendo os caracteres sendo inseridos e suprimidos, fica um pouco estranho

sua classe ta boa, mas eu gosto mesmo é da masked-input feito pra Jquery é a melhor que ja vi funcionando ate hoje, ela é perfeita, pena que nao tem nada identico pra Extjs, a nao ser usando o jquery junto com o extjs, coisa que eu nao uso mais

http://digitalbush.c...d-input-plugin/

#13 andré luis

andré luis

    Novato

  • Membros
  • PipPip
  • 11 posts

Postado 20 April 2009 - 22:58

Ai glr. Valeu pelo comentario.
sethend, vou tentar resolver isso ai e o que o fabyo falou tbm.
quando terminar posto ai. blz.
com vcs dando dicas isso vai ficar cada vez melhor.
Flw..

#14 EthraZa

EthraZa

    Member Avançado

  • Expert User
  • 542 posts
  • LocationSão Paulo

Postado 21 April 2009 - 05:13

Muito legal isso cara... na proxima versao q sair acho q ja da pra por la na parte de plugins do site do ExtJs (se vc quiser)... muito boa sua classe e sua iniciativa. ;)

Mandriva Linux in LAMPE (Linux/Apache/MySql/Php/Ext)

#15 Nom4d3

Nom4d3

    Member Avançado

  • Membros
  • PipPipPip
  • 952 posts
  • LocationAraras/SP/Brasil

Postado 21 April 2009 - 16:13

outra coisa que talvez seja legal corrigir é o lance do campo hora. que está deixando ter 29 horas ao invés de parar no 24. mas realmente ta mt boa.

#16 sethend

sethend

    Member Avançado

  • Membros
  • PipPipPip
  • 240 posts
  • LocationAraraquara-SP

Postado 28 April 2009 - 08:00

Ai glr. Valeu pelo comentario.
sethend, vou tentar resolver isso ai e o que o fabyo falou tbm.
quando terminar posto ai. blz.
com vcs dando dicas isso vai ficar cada vez melhor.
Flw..

André Luis, sobre aquela parte do decimal que eu disse, está ótimo, legal porque da para usar como campo de numeros reais, se vc for mexer seria interessante ser da esquerda para a direita, pode até deixar este e acrescentar mais alguns, o codigo ta limpo e a ideia está joia. valew.
Em casa de ferreiro o WINDOWS da pau!

#17 olimpia

olimpia

    Member Avançado

  • Membros
  • PipPipPip
  • 73 posts
  • LocationBebedouro - SP

Postado 05 May 2009 - 10:24

Muito pratico este plugin, parabens...
Gostaria de saber se é possivel aplicar validações.

Exemplo:
Se digitar uma data invalida, deixar o campo em vermelho e exibir uma mensagem
Validar o cpf e cnpj

#18 EthraZa

EthraZa

    Member Avançado

  • Expert User
  • 542 posts
  • LocationSão Paulo

Postado 05 May 2009 - 22:40

Hoje eu estava pronto para colocar sua classe no meu sistema quando percebi que ela eh soh textfield... e eu preciso em combo tambem.
Ai ei pensei... seria legal se inves de uma classe nova fosse um plugin que da para colocar em qualquer tipo de field (text, number, combo...)

Pensa na ideia, pelo menos vai :D
Mandriva Linux in LAMPE (Linux/Apache/MySql/Php/Ext)

#19 lucastody

lucastody

    Member Avançado

  • Membros
  • PipPipPip
  • 425 posts
  • LocationUberlandia - MG

Postado 20 May 2009 - 10:33

O lance da hora ser 29 eh q deve ser 0, 1 ou 2 para o primeiro digito da hora, e de 0 a 9 para o segundo digito da hora, dai como fazer para tratar o maximo, que eh 24 ??


soh se as horas forem AM e PM  ;D
Após a resolução de um tópico, clique no link "marcar como resolvido" (ao lado do link responder) para adicionar [RESOLVIDO] no título do tópico, isso irá ajudar a manter o fórum organizado e mais ágil nas resoluções de outras dúvidas de mesma natureza.

#20 Rodrigo, Kptão Nascimento

Rodrigo, Kptão Nascimento

    Member Avançado

  • Expert User
  • 2472 posts
  • LocationTres Coroas, RS

Postado 20 May 2009 - 11:23

/^([01][0-9]|2[0-3])$/

ou seja
- 0 ou 1 seguido de 0 a 9
- ou 2 seguido de 0 a 3

aceitaria
00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22 ou 23


com minutos seria

/^([01][0-9]|2[0-3]):([0-5][0-9])$/

acho q por ai
Sempre que um tópico for resolvido clique no botão MARCAR COMO RESOLVIDO localizado ao lado do botão RESPONDER.

http://blog.rkn.com.br
http://twitter.com/blogrkn

Atualize seu navegador
http://imasters.uol....br/crossbrowser




0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos