Oredenar campos em JSF com js

3 respostas
phillip.tessuto

Boas pessoal,

Tenho uma dúvida e gostaria de verr se alguém conseguiria me auxiliar.
Bom,
Tenho um formulário que estouu utilizando JSF e richFaces…
Certo, o problema é que gostaria que ao usuário apertar a tecla ‘enter’, me direcionaria para seu próximo campo.
E assim por diante, até clicar em primeiro commandButton…
Tentei implemntar desta maneira utizando o js :
<%@ taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@ taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>
<%@ taglib uri=“http://richfaces.org/a4j” prefix=“a4j”%>
<%@ taglib uri=“http://richfaces.org/rich” prefix=“rich”%>

Teste Formulário <!-- Begin nextfield = "primeiroUm"; // id do primeiro campo do site netscape = ""; ver = navigator.appVersion; len = ver.length; for(iln = 0; iln < len; iln++) if (ver.charAt(iln) == "(") break; netscape = (ver.charAt(iln+1).toUpperCase() != "C");
function keyDown(DnEvents) {
                      // ve quando e o netscape ou IE
                      k = (netscape) ? DnEvents.which : window.event.keyCode;
                if (k == 13) { // preciona tecla enter
                          if (nextfield == 'done') {
                             alert("Apertada o botão de envio formulário !!!");
                             return false;
                             //return true; // envia quando termina os campos
                          } else {
                             // se existem mais campos vai para o proximo
                                     eval('document.form1.' + nextfield + '.focus()');
                                 return false;
                          }
                   }
            }

            document.onkeydown = keyDown; // work together to analyze keystrokes
            if (netscape) document.captureEvents(Event.KEYDOWN|Event.KEYUP);
        // End -->
    </script>

O problema é que não funciionou…
Será que alguém consegue me ajudar !!!???

Obrigado

3 Respostas

phillip.tessuto

Pessoal,

Consegui!!!
Problema resolvido…
No lugar da minha tag <h:form>, tive de alterá-la para e utilizar o atributo name passando, neste caso, name=“form1”.
Pronto, tudo funcionou normalmente!!!
Está perfeito…

Valeu galera!!!
Abraços.

phillip.tessuto

Pessoal,

Ainda nãonsegui…
Alguém sabe me dizer como recuupero um id, com js, de uma componente jsf que está dentro de um h:form ???!!!
Com isso já conseguiria matar o problema…

Abs,

phillip.tessuto

Pessoal,

Descobri uma propriedade do hh:form que faz com consiga retornar, exclusivamente, o id de um compnente jsf que está dentro deste formulário.
Antes de colocar esta propriedade, tentava recuperar o id de um <h:inputtext>, e vinha desta maneira id_do_formulario : id_do_componente…
Bom, utilizando a propriedade prependId=“false” do <h:form>, resolvido o problema…
Consegui recuperar exatamente o id do componente…

Problema resolvido!!!

abs,

Criado 25 de setembro de 2010
Ultima resposta 25 de set. de 2010
Respostas 3
Participantes 1