Richfaces - 按ID获取元素

Kum*_*r D 11 richfaces

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

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

例如:因为h:inputText我用它

<h:inputText id="userNameInputBox" value="<<some binding>>/>
Run Code Online (Sandbox Code Playgroud)

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

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

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

如何使元素聚焦起作用?

FRo*_*owe 15

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

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

我相信你需要RichFaces 3.2.0或更高才能工作.

Richfaces JS Interaction功能的文档