Olá pessoal,
pelo o que eu estudei em interface homem máquina
o botão mais significativo deve ficar a direita, mas
eu estou tendo um probleminha aqui no JSF:
<h:form>
...
<h:commandButton action="visao_tecnico" value="Cancelar" />
<h:commandButton type="submit" action="#{ProdutorController.buscar}" value="Buscar" onkeypress="true" />
</h:form>
//Na view os botões estão da seguinte forma: [CANCELAR] [BUSCAR]
No form do JSF quando o usuário tecla
ENTER o primeiro comando a ser executado
dentro de um form é o que vem primeiro
no caso o comando do botão Cancelar que está a esquerda,
Eu preciso manter essa ordem e gostaria de saber
como que eu devo fazer para quando o usuário
teclar enter ao invés do commandButton Cancelar
ser executado primeiro o commandButton Buscar
seja executado primeiro?
Será que alguém poderia me dar uma ajuda?
[]'s.
kra acho melhor vc capturar o onkeypress e se for enter vc chama o click() do botão que vc quer executar.
Tenta usar o tabindex, acredito que funcione, mas não testei… hehe
Jóia danilloh?
Teria como vc ou alguém me dar um
exemplos mais ou menos de como
eu posso fazer isso?
[]'s.
[code]function enterField(event) {
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if (keyCode == 13 ) {
document.getElementById('btnExcecDefault').click() ;
}
} [/code]
Jóia Diego?
O tabindex funcionou aqui o problema é que quando eu teclo ENTER
não acontece nada, vc ou alguém sabe se existe um jeito de já deixar selecionado
o tabindex=“0”? Porque se o usuário teclar ENTER ele já faz a busca direto.
[]'s.
Segue um exemplo de implementação que só funciuona no IE.
function botaoPadrao(idBotao, evt) {
if (evt.keyCode == 13) {
document.getElementById(idBotao).click();
// aborta a operação padrao
evt.returnValue = false;
return false;
}
}
<h:form onkeypress="botaoPadrao('form:botaoSalvar', event)">
...
</h:form>
Pessoal vou fazer os teste aqui com os exemplos JavaScript
e qq coisa eu volto aqui. 
Obrigado á todos pela ajuda.