我在xhtml页面的popUpPanel中有一个inputText。
<h:graphicImage onclick="clearNewUserProfileData();" />
<h:inputText id="firstName" value="#{userProfileBean.firstName}"/>
我的javascript函数是
function clearNewUserProfileData() {
$("#userProfileList\\:firstName").val('');
}
其中&#39; userProfileList&#39;是popUpPanel的id。
我不知道这里有什么问题。但是,inputText没有在点击时清除其值。这是获取jsf中元素id的正确方法吗?
答案 0 :(得分:0)
您需要检查该输入的生成ID。在Firefox或Chrome中,您可以右键单击 - 检查该元素。 如果您的表单的ID是&#34; f1&#34;并且输入的id是&#34; input1&#34;,这应该返回该DOM对象:
$("#f1\\:input1")
但是,如果您之间有<f:subview>
,则该子视图的ID也需要连接:
$("#f1\\:subview1\\:input1")
您可以直接在浏览器控制台中尝试jQuery代码,以检查它是否选择了输入。 如果看起来没问题,则需要检查是否已达到clearNewUserProfileData。
答案 1 :(得分:0)
这是在jsf中检索inputText元素的id的正确方法。 单击图形图像调用clearNewUserProfileData()函数是我的错误。我的错!
确实是将价值设定为&#34;&#34;。但是,内容是从bean渲染的。所以,我不得不在&#34; onshow&#34;中调用clearNewUserProfileData()。弹出面板的属性,以便从弹出的面板元素中清除旧的表单数据。