Bom dia pessoal, tudo certo?? Bem, na minha aplicação tenho alguns campos que são compostos de código e descrição ( exemplo: codigo do curso e descrição do curso).
Se o usuário sabe o código do curso, ele o digita em um inputexto codigo e aparece a descrição do que ele digitou. Caso contrário, vem uma mensagem de que esse código que ele digitou não existe e daí limpa o campo do código. Além disso, se ele não souber o código, ele abre um dialog para pesquisar oke ele quer lá dentro.
O que eu estou fazendo é o seguinte: se ele não encontrar o código que o cara digitou, ele limpa o campo mas TAMBÉM queria que ficasse o foco ainda no INPUTTEXT para ele digitá-lo novamente…
Abaixo parte do xhtml:
<p:growl id="grow2" life="4000"/>
<h:panelGrid columns="3">
<p:inputMask style="width: 30px" id="codigo_curso" onkeydown="chamaDialog(event, 'codigo_curso');" size="2" mask="9?9999" placeHolder="" value="#{etapaJsfBean.codigoCursoParaRegistro}">
<f:ajax render="codigo_cursoMostra codigo_curso grow2" event="change" listener="#{etapaJsfBean.atualizarCursoPorCodigo(event)}"/>
</p:inputMask>
<p:inputText id="codigo_cursoMostra" disabled="true" required="true" requiredMessage="O campo não existe ou deve ser informado." value="#{etapaJsfBean.crudObj.curso.descricao}" style="opacity: 2; width: 200px"/>
<p:commandButton id="abreCursoDlg" icon="ui-icon-search" onclick="dialogCurso.show();"/>
</h:panelGrid>
No bean:
public void atualizarCursoPorCodigo(AjaxBehaviorEvent event) {
buscaCursoPorCodigo(this.codigoCursoParaRegistro);
}
private void buscaCursoPorCodigo(String codigo) {
if (codigo != null && !codigo.trim().equals("")) {
Curso itemCurso = c.buscaCursoPorCodigo(codigo);
if (itemCurso != null) {
crudObj.setCurso(itemCurso);
} else {
warn("O curso com o código " + codigo + " não existe.");
crudObj.setCurso(null);
codigoCursoParaRegistro = "";
//primeFacesExecute("confirmation2.show();");
}
} else {
crudObj.setCurso(null);
}
}
Se alguém puder dar alguma ideia de como fazer apra que o foco volte ou fique no campo citado, eu agradeceria mto… Vlw