Jsf

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. :smiley:
Obrigado á todos pela ajuda.