使用jquery </h:inputtext>将文本设置为<h:inputtext> jsf

时间:2014-05-08 01:36:57

标签: javascript jquery jsf

我在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的正确方法吗?

2 个答案:

答案 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()。弹出面板的属性,以便从弹出的面板元素中清除旧的表单数据。