Pessoal,
O meu botao abaixo, verifica a validação do cpf (Tenho o metodo para fazer isso, faço isso no java esta ok), porem quando o cpf é invalido, gostaria de dar
o foco no txtvcpf, mas isso somente quando o cpf é invalido.
segue abaixo meu codigo
<p:inputMask id="txtvcpf" value="#{cadguiaMbean.vcpf}" mask="999.999.999-99" style="width: 95px;margin-right: 40px" >
</p:inputMask>
<p:commandButton id="verificaruserautogestao" value="Validar" update=":formprincipal:txtcpfinvalido" actionListener="#{cadguiaMbean.validacodigogestao}" style="height: 25px; font-size: 10px"/>
<h:outputText id="txtcpfinvalido" value="#{cadguiaMbean.cpfinvalido}" styleClass="fontenome"/>
da pra fazer pelo managedbean, após a validação
através do RequestContext.getCurrentInstance().execute(“focus(idComponent)”)
cria um javascript que faça um focus em um determinado componente
como vc está usando o primefaces vc pode mandar o comando através do primefaces context ou ainda usar um comando no oncomplete.
seria mais ou menos assim:
oncomplete="$('#id do campo').focus();"
RequestContext.getCurrentInstance().execute(“focus(txtvcpf)”);
assim nao funcionou.
Mas usando o autocomplete, irá dar o foco , todas as vezes que clicar no botao certo ?
Gostaria de dar o foco, apenas quando o cpf tiver ERRADO.
Tem como chamar no oncomplete, um javascript ?
[quote=evandro_araujo]RequestContext.getCurrentInstance().execute(“focus(txtvcpf)”);
assim nao funcionou.
Mas usando o autocomplete, irá dar o foco , todas as vezes que clicar no botao certo ?
Gostaria de dar o foco, apenas quando o cpf tiver ERRADO. [/quote]
eu uso assim e funciona perfeitamente.
Você criou a função javascript no seu xhtml? passou o id corretamente?
RequestContext.getCurrentInstance().execute(“focus(txtvcpf)”);
“focus” seria minha funcao no javascript ??
[quote=evandro_araujo]RequestContext.getCurrentInstance().execute(“focus(txtvcpf)”);
“focus” seria minha funcao no javascript ??[/quote]
sim, mas poderia ser outro a seu gosto.
exemplo:
function focus(id) {
var obj = document.getElementById(id);
if(obj!=null) {
document.getElementById(id).focus();
}
}
fiz assim , mas nao deu certo :
Javascript
function focusnocpf()
{
alert("fdasfds "+document.getElementById('formprincipal:txtcpfinvalido').value);
}
****************************
Bean
if (validarcpf.equals(false)) {
setCpfinvalido("CPF Inválido, favor verificar");
RequestContext.getCurrentInstance().execute("focusnocpf(txtvcpf)");
View
<p:inputMask id="txtvcpf" value="#{cadguiaMbean.vcpf}" mask="999.999.999-99" style="width: 95px;margin-right: 40px" >
</p:inputMask>
você não fez como eu falei, vc tem que passar o id do componente por parâmetro
lá no managedBean.
Tenta fazer exatamente como eu mostrei.