Pergunta

Estamos usando Richfaces em um de nossos projetos.

Eu preciso focar o elemento dinamicamente em alguma ação do usuário. A questão aqui é que eu só tenho a id (id JSF específico que eu dou a elemento.)

Por exemplo: para h:inputText eu usá-lo como

<h:inputText id="userNameInputBox" value="<<some binding>>/>

e esta caixa de entrada é incorporado de forma separada. Quando eu incluir a caixa de entrada no formulário, o ID da caixa de entrada será: formName:userNameInputBox (<<formName>>:<<elementId>>)

Eu vou ser re-utilizando a caixa de entrada em vários JSP s. Isso significa que, eu não sei o formulário pai em que vou incluir a caixa de entrada.

Agora, preciso me concentrar () caixa de entrada. Atualmente eu não sou capaz de fazer isso como eu não tenho o id gerado real (<<formname>>:<<elementId>>), mas eu só tenho a id JSF específica que eu dei.

Como posso fazer focando o elemento trabalho?

Foi útil?

Solução

Use a função RichFaces tag #{rich:clientId( JSF_ID )} para obter o ID de cliente apropriado para um componente. Se você precisa do elemento dentro da árvore DOM, você pode obtê-lo diretamente com #{rich:element( JSF_ID )}

Exemplo: onclick="#{rich:element('userNameInputBox')}.focus()"

Eu acredito que você precisa RichFaces 3.2.0 ou superior para que isso funcione.

A documentação sobre funções Richfaces JS Interação

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top