问题 Richfaces - 按ID获取元素


我们正在使用 RichFaces的 在我们的一个项目中。

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

例如:for h:inputText 我用它作为

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

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

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

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

如何使元素聚焦起作用?


9557
2017-10-30 07:47


起源



答案:


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

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

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

关于的文件 Richfaces JS交互功能


15
2017-11-05 10:02



有没有一个替代的primefaces来实现这一目标?谢谢! - Rajat Gupta


答案:


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

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

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

关于的文件 Richfaces JS交互功能


15
2017-11-05 10:02



有没有一个替代的primefaces来实现这一目标?谢谢! - Rajat Gupta