Pessoal,
Estou tentando usar a tag f:ajax do JSF2 para adicionar uma chamada ajax num html:inputText, no entanto, eu gostaria que a requisição ajax acontecesse apenas se o usuário teclasse ENTER.
Meu código é o seguinte:
<f:ajax event="keypress" onevent="isEnter" listener="#{controller.consultarPaginaInformada}" render="idResult" />
Problemas:
1 - O JSF chama o javascript isEnter passando um parametro para ele que contem algumas informações, como por exemplo, o status da requisição ajax (begin,complete,sucess), porém, não é o objeto EVENT o qual eu conseguiria obter o keyCode e verificar se é um ENTER.
2 - Se eu usar onevent=“isEnter(event)”, eu obtenho o evento de fato, porém, ocorre um erro de javascript em seguida. Pelo que verifiquei o isEnter é chamado 3x, uma para cada status (begin,complete,sucess). Aparentemente, o mesmo só processa corretamente na primeira chamada.
3 - PIOR, coloquei o isEnter apenas retornando false e mesmo assim a requisição ajax continuou.
4 - Tentei então usar o jsf.ajax.request ao invés da tag f:ajax, no entanto, não sei como executar o listener (#{controller.consultarPaginaInformada}) dessa forma.
Enfim, alguém sabe como fazer isso (executar a requisição ajax apenas se o usuário teclar ENTER)?