Richfaces - 按ID获取元素

时间:2009-10-30 07:47:54

标签: richfaces

我们在其中一个项目中使用Richfaces

我需要动态地将元素集中在某些用户操作上。 这里的问题是我只有id(我为element提供的JSF特定ID。)

例如:对于h:inputText,我将其用作

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

并且此输入框以单独的形式嵌入。当我在表单中包含输入框时,输入框的ID将为:formName:userNameInputBox (<<formName>>:<<elementId>>)

我将在多个JSP中重复使用输入框。这意味着,我不知道我将在其中包含输入框的父表单。

现在,我需要聚焦()输入框。目前我无法做到这一点,因为我没有实际生成的id(<<formname>>:<<elementId>>),但我只有我给出的JSF特定ID。

如何使元素聚焦起作用?

1 个答案:

答案 0 :(得分:15)

使用RichFaces标记函数#{rich:clientId( JSF_ID )}获取组件的相应客户端ID。如果您需要DOM树中的元素,可以使用#{rich:element( JSF_ID )}

直接获取它

实施例: onclick="#{rich:element('userNameInputBox')}.focus()"

我相信你需要RichFaces 3.2.0或更高版本才能工作。

Richfaces JS Interaction functions

上的文档