RichFaces modalPanel - Setar foco

3 respostas
gustavodelgado

Pessoal, estou com um problema aparentemente fácil de resolver, mas não estou conseguindo.
Tenho um modalPanel (do richfaces) com um formulário dentro e quero setar o foco em um campo texto qualquer deste formulário assim que o modalPanel for aberto.
Qual a melhor maneira de se fazer isto? Uma das formas que tentei foi a seguinte, mas não funcionou:

<rich:modalPanel id="panel" onshow="form2.form2:teste.focus()">
      <ui:form id="form2">
           <h:inputText id="teste"/>
      </ui:form>
</rich:modalPanel>

Também tentei criar uma função em js assim:

function setaFoco(nomeElemento){ elemento = document.getElementById(nomeElemento); elemento.focus(); }

chamando-a assim: onshow=“setaFoco(‘form2:teste’)”

E nada tbem…
Alguma idéia?

[]s

3 Respostas

gustavodelgado

Corrigindo minha função JavaScript:

function setaFoco(nomeElemento){ document.getElementById(nomeElemento).focus(); }

Assim funciona, porém não no evento que eu preciso (onshow) do modalPanel.
Se eu colocar a chamada dela em outro evento, por exemplo:
onmaskmouseover=“setaFoco(‘form2:PaisFormFragment:nomePais’)”
funciona blz… só no raio do onshow q não, rs e preciso q o foco seja setado assim q o panel é aberto.

Alguém já fez algo parecido?

[]s

Alexandre_Vilas_Boas

Desenterrando o topico…

pode vir a ajudar alguem

aqui funcionou assim:

&lt;rich:modalPanel id="entidadesModalPanel" width="650" height="450" onshow="document.getElementById('modal_:frmClienteModal:txtCodCliente').focus();"&gt;

[]'s

TiagoW

Opa, ajudou mesmo! :slight_smile:

Mas para mim bastou referenciar o formulário dentro do modal panel para funcionar:

&lt;rich:modalPanel id="mpAddItem" width="600" height="350" onshow="document.getElementById('formAddItem:selectOneCodigoServico').focus();"&gt; &lt;f:facet name="header"&gt; &lt;h:outputLabel value="Informe os dados do serviço prestado"/&gt; &lt;/f:facet&gt; &lt;a4j:form id="formAddItem"&gt; &lt;h:outputLabel value="Selecione o Serviço:" styleClass="form-group"/&gt; &lt;h:selectOneListbox size="1" styleClass="input-text-default" id="selectOneCodigoServico" >

Criado 17 de março de 2008
Ultima resposta 7 de out. de 2009
Respostas 3
Participantes 3