Javascript Boa tarde Por favor, alguem tem um "pedaço de codigo" executando um javascript qualquer quando altera um campo? Pode ser a famosa alteracao "setMask" que é muito usada. Estou seguindo varios posts antigos e nao estou tendo sucesso. No caso de um controle radio, nao acontece nada quando ocorre uma alteracao. Preciso entender o que estou fazendo de errado. Grato....
JB
Javascript  
Boa tarde
Por favor, alguem tem um "pedaço de codigo" executando um javascript qualquer quando altera um campo? Pode ser a famosa alteracao "setMask" que é muito usada. Estou seguindo varios posts antigos e nao estou tendo sucesso. No caso de um controle radio, nao acontece nada quando ocorre uma alteracao. Preciso entender o que estou fazendo de errado. Grato.

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)


ER

Olá Jacques,

Não sei se é isso que você está precisando mais uso em setMask, por exemplo no caso de campo cpf_cnpj, assim em javascript:

coloca o codigo em __construct

//echo 'CPF/CNPJ: <input type="text" name="cpf_cnpj" id="cpf_cnpj" />';
$cpf_cnpj->id = 'cpf_cnpj';
$script = new TElement('script');
$script->type = 'text/javascript';
$javascript = "
$('#cpf_cnpj').keydown(function(){
try {
$('#cpf_cnpj').unmask();
} catch (e) {}

var tamanho = $('#cpf_cnpj').val().length;

if(tamanho < 11){
$('#cpf_cnpj').mask('999.999.999-99');
} else if(tamanho >= 11){
$('#cpf_cnpj').mask('99.999.999/9999-99');
}

// ajustando foco
var elem = this;
setTimeout(function(){
// mudo a posição do seletor
elem.selectionStart = elem.selectionEnd = 10000;
}, 0);

// reaplico o valor para mudar o foco
var currentValue = $(this).val();
$(this).val('');
$(this).val(currentValue);
});
";
$script->add($javascript);
parent::add($script);

JB

Bom dia
Não era exatamente o que eu pensava em fazer, Mas....... este código que você postou me abriu uma outra possibilidade.
Muito obrigado.