CS
Mascara para CPF/CNPJ
Salve, pessoal. Peguei a idéia do www.adianti.com.br/forum/pt/view_582?alterar-atributo-de-campo-em-te
$pessoa = new TCombo('pessoa');
$pessoa_tipo = array();
$pessoa_tipo['F'] = 'Física';
$pessoa_tipo['J'] = 'Jurídica';
$pessoa->addItems($pessoa_tipo);
$this->form->addQuickField('Pessoa:', $pessoa, 250 );
$script = new TElement('script');
$script->type = 'text/javascript';
$javascript ="
// personaliza os campos de acordo com o tipo de pessoa
$('select[name="pessoa"]').change(function(event){
var tipoPessoa
$('select[name="pessoa"] > option:selected').each(function(){
tipoPessoa = $(this).text();
});
if(tipoPessoa == 'F') {
$('input[name="cpf_cnpj"]').val('');
$('input[name="cpf_cnpj"]').attr({onkeypress:'return entryMask(this,event,"999.999.999-99")'});
}
if(tipoPessoa == 'J') {
$('input[name="cpf_cnpj"]').val('');
$('input[name="cpf_cnpj"]').attr({onkeypress:'return entryMask(this,event,"99.999.999/9999-99")'});
}
});
";
$script->add($javascript);
parent::add($script);
Só que sempre ta aparecendo um erro se sintaxe na linha: $('select[name="pessoa"]').change(function(event){
Acredito que seja algo relacionado com aspas duplas e simples e talvez um carácter de escape. Estou procurando nas sintaxes de javascript mas ainda não consegui achar. Se alguém puder me ajudar...
[]´s
Stclara.
$pessoa = new TCombo('pessoa');
$pessoa_tipo = array();
$pessoa_tipo['F'] = 'Física';
$pessoa_tipo['J'] = 'Jurídica';
$pessoa->addItems($pessoa_tipo);
$this->form->addQuickField('Pessoa:', $pessoa, 250 );
$script = new TElement('script');
$script->type = 'text/javascript';
$javascript ="
// personaliza os campos de acordo com o tipo de pessoa
$('select[name="pessoa"]').change(function(event){
var tipoPessoa
$('select[name="pessoa"] > option:selected').each(function(){
tipoPessoa = $(this).text();
});
if(tipoPessoa == 'F') {
$('input[name="cpf_cnpj"]').val('');
$('input[name="cpf_cnpj"]').attr({onkeypress:'return entryMask(this,event,"999.999.999-99")'});
}
if(tipoPessoa == 'J') {
$('input[name="cpf_cnpj"]').val('');
$('input[name="cpf_cnpj"]').attr({onkeypress:'return entryMask(this,event,"99.999.999/9999-99")'});
}
});
";
$script->add($javascript);
parent::add($script);
Só que sempre ta aparecendo um erro se sintaxe na linha: $('select[name="pessoa"]').change(function(event){
Acredito que seja algo relacionado com aspas duplas e simples e talvez um carácter de escape. Estou procurando nas sintaxes de javascript mas ainda não consegui achar. Se alguém puder me ajudar...
[]´s
Stclara.
Carlos, antes das aspas duplas use o "\" , assim:
Salve, amigo. Segui a tua indicação e o erro sumiu. A ideia é que quando selecionar o tipo de pessoa (F ou J) o input cpf_cnpj seja formatado de acordo com pessoa jurídica e física. Vi sugestões para usar o TElement. Só que com o código abaixo, agora sem o erro, não acontece a formatação. Poderia me dar uma ajuda?
Acho que faltou vc passar um valor pra variável tipoPessoa na linha 123:
<?
var tipoPessoa = $('select[name="pessoa"]').val();
?>
Resolvido:
entryMask foi trocado por tentry_mask ...