Lançado Adianti Framework 8.1!
Clique aqui para saber mais
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. if(cliente_pessoa == 'J') { 
  10. $('input[name="cliente_cpf_cnpj"]').val(''); 
  11. $('input[name="cliente_cpf_cnpj"]').attr({onkeypress:'return tentry_mask(this,event,"99.999.999/9999-99")'}); 
  12. }); 
  13. "
  14. $script->add($javascript); 
  15. parent::add($script); 
  16. ?>


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.     
  15.     switch ($tip) {
  16.       case 'F':
  17.       case 'f'$ret self::masc($cic,'###.###.###-##')    ; break;
  18.       case 'J':
  19.       case 'j'$ret self::masc($cic,'##.###.###/####-##'); break;
  20.       default:
  21.         $tam strlen($cic);
  22.         switch ($tam) {
  23.           case 11$ret self::masc($cic,'###.###.###-##')    ; break;
  24.           case 14$ret self::masc($cic,'##.###.###/####-##'); break;
  25.           default: $ret $cic                                 ; break;
  26.         }
  27.         break;
  28.     }
  29.     return $ret;
  30.   }
  31. ?>


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 ?