2009-10-30 8 views
11

Estamos usando Richfaces en uno de nuestros proyectos.Richfaces - Obtener elemento por Id

Necesito enfocar el elemento dinámicamente en alguna acción del usuario. El tema aquí es que sólo tiene la Identificación del

Por ejemplo (JSF ID específico que doy a elemento.): Para h:inputText lo uso como

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

y esta caja de entrada está incorporado en forma separada . Cuando incluyo el cuadro de entrada en el formulario, la identificación del cuadro de entrada será: formName:userNameInputBox (<<formName>>:<<elementId>>)

Volveré a utilizar el cuadro de entrada en múltiples JSP s. Eso significa que no conozco el formulario principal en el que incluiré el cuadro de entrada.

Ahora, necesito enfocar() el cuadro de entrada. Actualmente no puedo hacer esto ya que no tengo el ID generado real (<<formname>>:<<elementId>>) pero solo tengo el ID específico de JSF que di.

¿Cómo puedo hacer que enfocar el elemento funcione?

Respuesta

15

Utilice la función de etiqueta RichFaces #{rich:clientId(JSF_ID)} para obtener la identificación de cliente adecuada para un componente. Si necesita el elemento en el interior del árbol DOM, lo puede conseguir directamente con #{rich:element(JSF_ID)}

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

Creo que necesita RichFaces 3.2.0 o superior para que esto funcione.

La documentación sobre Richfaces JS Interaction functions

+0

¿Existe una alternativa para PrimeFaces para lograr esto? ¡Gracias! –

Cuestiones relacionadas