Como utilizar ENTER como tecla de atalho para botão

727 views
Skip to first unread message

Igor Antônio Andrade

unread,
Apr 20, 2012, 9:19:11 AM4/20/12
to jav...@googlegroups.com
Bom dia,

Estou tendo uma dificuldade em configurar o componente <p:hotkey> para usar a tecla ENTER como atalho para um botão. A questão é que eu tenho uma <p:toolbar> com alguns <p:commandButton> e um <p:inputText>. Abaixo tenho um <p:dataTable> com a lista. Os botões são para funções de "Novo", "Editar" e etc, o <p:inputText> é para digitar um texto para pesquisar na lista e logo após tenho um botão "Pesquisar" que é usado para fazer a consulta. O problema é que ao apertar ENTER é direcionado para o primeiro botão, "Novo", mas quero que ele seja usado para "Pesquisar". Agradeço desde já a atenção daqueles que puderem ajudar.

Eduardo Nobre

unread,
Apr 21, 2012, 8:38:20 PM4/21/12
to jav...@googlegroups.com
segue exemplo:

<p:fieldset legend="Filtro de Pesquisa" styleClass="margin8">
<h:panelGrid columns="4" cellpadding="3" cellspacing="0" style="margin:3px;">
<h:outputText value="#{label}" styleClass="CelulaRotulo"/>  
<p:inputText value="#{termoLoc}" id="txtFiltroPesquisa"
onkeypress="if(event.keyCode == 13){ event.returnValue=false; event.cancel=true; document.getElementById('#{form}btnConsultar').click();}"/>
<p:commandButton id="btnConsultar" 
value="Consultar" 
update="#{update}" 
icon="ui-icon ui-icon-search" 
ajax="#{empty ajax ? true : ajax}"
actionListener="#{bean[action]}"
oncomplete="#{form}txtFiltroPesquisa.focus()"/>
<g:ajaxStatus/>  
</h:panelGrid>
</p:fieldset>











Em 20 de abril de 2012 10:19, Igor Antônio Andrade <igoranton...@gmail.com> escreveu:
Bom dia,

Estou tendo uma dificuldade em configurar o componente <p:hotkey> para usar a tecla ENTER como atalho para um botão. A questão é que eu tenho uma <p:toolbar> com alguns <p:commandButton> e um <p:inputText>. Abaixo tenho um <p:dataTable> com a lista. Os botões são para funções de "Novo", "Editar" e etc, o <p:inputText> é para digitar um texto para pesquisar na lista e logo após tenho um botão "Pesquisar" que é usado para fazer a consulta. O problema é que ao apertar ENTER é direcionado para o primeiro botão, "Novo", mas quero que ele seja usado para "Pesquisar". Agradeço desde já a atenção daqueles que puderem ajudar.

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Eduardo Nobre

Gustavo Delgado

unread,
Apr 22, 2012, 2:07:40 PM4/22/12
to jav...@googlegroups.com
O Primefaces tem esta alternativa:  http://www.primefaces.org/showcase/ui/defaultCommand.jsf 

Igor Antônio Andrade Costa

unread,
Apr 23, 2012, 3:07:02 PM4/23/12
to jav...@googlegroups.com
Acabei de fazer mais alguns teste aqui e percebi que ao digitar a tecla "enter" está sendo direcionado para o botão :btnPesquisar. Ótimo! O problema é que ao digitar a tecla "l" (L minúsculo), o comando também é executado. Testei lá no site do Prime Faces indicado aí no link e o problema ocorre também. Vou testar então a solução aí do Eduardo Nobre. xD

Igor Antônio Andrade Costa

unread,
Apr 23, 2012, 2:47:45 PM4/23/12
to jav...@googlegroups.com
Muito obrigado galera, realmente ajudou. Resolvido com a dica do Gustavo Delgado.
Reply all
Reply to author
Forward
0 new messages