MASCARAS CPF/CNPJ Olá, estou usando TElement está perfeito ...
AR
MASCARAS CPF/CNPJ  
Olá, estou usando TElement está perfeito

 
  1. <?php
  2. $script = new TElement('script');
  3. $script->type = 'text/javascript';
  4. $javascript = "$('select[name="cliente_pessoa"]').change(function(event){
  5. var cliente_pessoa = $('select[name="cliente_pessoa"]').val();
  6. if(cliente_pessoa == 'F') {
  7. $('input[name="cliente_cpf_cnpj"]').val('');
  8. $('input[name="cliente_cpf_cnpj"]').attr({onkeypress:'return tentry_mask(this,event,"999.999.999-99")'});
  9. }
  10. if(cliente_pessoa == 'J') {
  11. $('input[name="cliente_cpf_cnpj"]').val('');
  12. $('input[name="cliente_cpf_cnpj"]').attr({onkeypress:'return tentry_mask(this,event,"99.999.999/9999-99")'});
  13. }
  14. });
  15. ";
  16. $script->add($javascript);
  17. parent::add($script);
  18. ?>


Só que no onEdit, o campo é editado sem a mascara, aí preciso usar uma função Formatar_Cpf_Cnpj, que edita com uma mascara, só que a mascara não é fixa como $script->type = 'text/javascript';. Tem uma solução pra isso ?

 
  1. <?php
  2. $object->cliente_cpf_cnpj = $object->formatar_Cpf_Cnpj;
  3. ?>


Obrigado.


Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


RL

Oi Adriano, no me caso eu tenho uma classe de formatação, veja se isso te ajuda de alguma maneira:

 
  1. <?php
  2. /*=================================================================================================================
  3. TFmt:cic
  4. -------------------------------------------------------------------------------------------------------------------
  5. Formata o CIC conforme o tamanho ou o tipo de pessoa (F,J)
  6. =================================================================================================================*/
  7. public static function cic(
  8. $cic , // 1 CIC que será formatado ou não. str
  9. $tip = null) // 2 Tipo de pessoa................ str,log
  10. {
  11. $cic = self::limpa($cic);
  12. if ($tip === true)
  13. return $cic;
  14. switch ($tip) {
  15. case 'F':
  16. case 'f': $ret = self::masc($cic,'###.###.###-##') ; break;
  17. case 'J':
  18. case 'j': $ret = self::masc($cic,'##.###.###/####-##'); break;
  19. default:
  20. $tam = strlen($cic);
  21. switch ($tam) {
  22. case 11: $ret = self::masc($cic,'###.###.###-##') ; break;
  23. case 14: $ret = self::masc($cic,'##.###.###/####-##'); break;
  24. default: $ret = $cic ; break;
  25. }
  26. break;
  27. }
  28. return $ret;
  29. }
  30. ?>


O método "masc" é usado por outros métodos da classe (telefone,cep, etc), então ficou assim:

 
  1. <?php
  2. /*=================================================================================================================
  3. TFmt:masc
  4. -------------------------------------------------------------------------------------------------------------------
  5. Formata um valor com uma máscara definida
  6. =================================================================================================================*/
  7. public static function masc(
  8. $val, // 1 Valor que será formatado. str
  9. $str) // 2 String da máscara........ str
  10. {
  11. $ret = '';
  12. $k = 0;
  13. $tam = strlen($val);
  14. for ($i = 0; $i <= strlen($str) -1; $i++) {
  15. if ($str[$i] == '#') {
  16. if ($k >= $tam)
  17. break;
  18. $ret.= TGen::def($val[$k],$val[$k]);
  19. $k++; }
  20. else
  21. $ret.= TGen::def($str[$i],$str[$i]);
  22. }
  23. return $ret;
  24. }
  25. ?>


Já no método "onEdit" eu estou formatando dessa maneira:

 
  1. <?php
  2. (...)
  3. $object = new Pessoa($key);
  4. $object->nr_cic = TFmt::cic($object->nr_cic);
  5. (...)
  6. $this->form->setData($object);
  7. ?>
AR

Olá Rod, obrigado por ter me respondido. No caso do "onEdit" quando é feita a edição(alteração) as máscaras ficam fixas ou usuário pode apagar as máscaras ?