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.
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.
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);
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.