[RESOLVIDO] Ajuda com Campo e máscara

Gente, primeiramente bom dia.

Estou com um problema, que talvez seja muita burrice minha, mas estou quebrando a cabeça aqui.

Tenho um campo na tabela chamado código.

Este campo é tipo char(13). Ok.
O modelo de valor usado no campo é
1.01.000.0000
1.01.000.0001
2.01.000.0000
etc

Porém, na hora de editar o formulário preciso inserir uma máscara para o cliente digitar o campo no formato correto x.xx.xxx.xxxx
E aí entra o problema, quando coloco a máscara, o campo que deveria ser “1.01.000.0000” aparece no input como “1…0.1.0.00.0”
Já tentei de tudo, não consigo entender o que acontece, nem resolver. Tirando a máscara ele exibe correto, mas ai abre margem para o cliente digitar errado e dar pepino…

Ajuda???

Obrigada :*

Olá, na mascara do campo vc está colocando x.xx.xxx.xxxx?

Tente trocar por 9.99.999.9999

Ou use “#.##.###.####”

Já tentei todas, inclusive a z. Se o campo estiver vazio ok, a máscara funciona e formata o que foi digitado corretamente, porém se o campo vier preenchido, aparece errado… =[

Como está gravado o dado na tabela?

Veja se te ajuda
http://www.scriptcase.com.br/forum/index.php/topic,1564.0.html

Na sua base de dados, você deve remover os pontos também, tem que ficar assim no campo da tabela: 1010000001, ai a mascara do SC vai interpretar corretamente.

Exatamente. Por isso perguntei como está gravado na tabela.

Na tabela está gravado com os pontos. Não tenho a opção de mudar pq são muitas coisas interligadas e o sistema que estou criando é uma cópia do sistema original desktop que utilizamos. Porém agora para web…

Então é um problema. O ideal seria gravar sem os pontos, aí a máscara funcionaria.

É padrão em todos os sistemas :frowning:

Atualizando, colocando em maiúscula o campo aparece completo, porém a máscara aparece no final hahahaha
É algum bug???

máscara X.XX.XXX.XXX
exibe 1.01.000.0000X.XX.XXX.XXXX

E agora??? hahahahahahhaa

tô rindo mas meu coração tá chorando

É realmente necessário ter os pontos no campo da tabela? Porque se não for necessário, deves retirar os pontos de todos os registros e aí a máscara vai funcionar normalmente. Como você está migrando de um sistema desktop para WEB, isto já seria uma melhoria.

O que vc pode fazer e criar um campo no formulário e colocar a mascara desejada, se for edição ler o campo do seu bco, retira os pontos e move para o campo criado, na inserção faz o inverso.

Sim, é necessário.

Vou testar essa sugestão!!!

Deu certo!!!

Coisinha boba, mas realmente não havia pensado nisso, valeu George!

Ficou assim:

$codigo = trim({codigo});
$codigo = str_replace(".", “”, $codigo);

[exibe_codigo] = $codigo;