我们在其中一个项目中使用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。
如何使元素聚焦起作用?
答案 0 :(得分:15)
使用RichFaces标记函数#{rich:clientId( JSF_ID )}
获取组件的相应客户端ID。如果您需要DOM树中的元素,可以使用#{rich:element( JSF_ID )}
实施例:
onclick="#{rich:element('userNameInputBox')}.focus()"
我相信你需要RichFaces 3.2.0或更高版本才能工作。
上的文档