Enter por tab - JSF + Primefaces

Galera já pesquisei mas não achei nenhum script que funciona com os componentes do primefaces.
Alguém aí já conseguiu fazer para quando eu apertar enter ele execute a função do tab indo para outro campo com os componentes do prime ?
abraços

Clipper na Web não por favor! Mas respondendo a sua pergunta, no GUJ tem muita coisa já sobre o assunto.

Já procurei pra baralho e nada rs Clipper na web tsc ? acho que você não é muito de pensar em usuário né ?

No link que passei tem pelo menos 5 tópicos sobre o assunto, pode valer a tentativa. Sobre o usuário sempre que posso tento convencer do que o mundo é hoje, o que ao redor funciona de um jeito e não querer de outro.

Acho que dá pra fazer com jQuery.

1- crie um listener no keypress da tecla enter. A função começa com um preventDefault() para evitar a submissão do form
2- dentro desse listener chame a função trigger do jQuery, passando o evento keypress e a tecla que você quer simular (no caso tab)

O que você botou um link do google, que por acaso eu sei usar, eu já tinha procurado e nenhum funcionou quando eu venho aqui pro guj é por que não encontrei em lugar nenhum, se quiser não quiser ajudar blz, mas também não atrapalha.

Felipe, obrigado pela resposta, você poderia exemplificar ?

eu achei esse códido até, mas não funcionou :confused:

[code]
textboxes = $(“input, select, textarea”);

if ($.browser.mozilla) {
$(textboxes).keypress (checkForEnter);
} else {
$(textboxes).keydown (checkForEnter);
}

function checkForEnter (event) {
console.log(this);
if (event.keyCode == 13) {
currentBoxNumber = textboxes.index(this);

	if (textboxes[currentBoxNumber + 1] != null) {
		nextBox = textboxes[currentBoxNumber + 1]
		nextBox.focus();
        event.preventDefault();
        return false;
	}	 
}

}[/code]

Olha só, achei esse exemplo aqui. É diferente do que eu estava pensando, pois ele não simula a digitação do tab, e sim pega o próximo elemento do form pelo indíce dele no set do jQuery.

Aparentemente funciona, mas não testei.

 $('input').keydown( function(e) {
        var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
        if(key == 13) {
            e.preventDefault();
            var inputs = $(this).closest('form').find(':input:visible');
            inputs.eq( inputs.index(this)+ 1 ).focus();
        }
    });

fonte: http://stackoverflow.com/questions/2335553/jquery-how-to-catch-enter-key-and-change-event-to-tab

Valeu, boa sorte.

felipe_gdr e no xhtml como eu boto pra funcionar no <p:inputText /> ?

Não precisa por nada.

O seletor do jQuery ‘input’ já filtra todos os elementos que são input e aplica esse listener.

mas pra chamar ele dentro do meu xhtml como faço ?

<h:outputScript target="body">
$('input').keydown( function(e) {  
       var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;  
       if(key == 13) {  
           e.preventDefault();  
           var inputs = $(this).closest('form').find(':input:visible');  
           inputs.eq( inputs.index(this)+ 1 ).focus();  
       }  
   }); 
</h:outputscript>

é só isso mesmo.

pronto, vou tentar mais tarde. Depois posto a resposta, obrigadão :]

Você ja tentou da seguinte forma ? :

 <h:form id="form">
            <p:panelGrid columns="2">
                <f:facet name="header">
                    <h:outputText value="Formulario"/>
                </f:facet>
                <h:outputText value="Nome :"/>
                <p:inputText id="nome" onkeypress="if(event.keyCode===13){document.getElementById('form:telefone').focus();return false;}"/>
                 <h:outputText value="Telefone :"/>
            <p:inputText id="telefone"/>
            </p:panelGrid>
        </h:form>