在PrimeFaces网站上,他们有许多如何使用组件的示例。我发现一个非常有用的功能是能够显示和隐藏PrimeFaces对话框。在示例中,这是按如下方式完成的:
<p:dialog header="Enter FirstName" widgetVar="dlg" resizable="false">
<h:form id="form">
<h:panelGrid columns="2" style="margin-bottom:10px">
<h:outputLabel for="firstname" value="Firstname:" />
<p:inputText id="firstname" value="#{pprBean.firstname}" />
</h:panelGrid>
<p:commandButton id="submitButton" value="Submit" update=":display" oncomplete="PF('dlg').hide();"/>
</h:form>
</p:dialog>
<p:outputPanel id="display" style="display:block;margin-top:10px;">
<h:outputText id="name" value="Hello #{pprBean.firstname}" rendered="#{not empty pprBean.firstname}"/>
</p:outputPanel> 如果您在命令按钮中注意到,它将调用:
oncomplete="PF('dlg').hide();"然而,当我尝试重现这个例子时,我的Firebug调试器报告说找不到PF。我需要在JSF页面中添加什么内容才能访问PF吗?
发布于 2013-09-06 22:46:47
你可以替换
oncomplete="PF('dlg').hide();"通过
oncomplete="dlg.hide();"发布于 2013-09-07 01:50:02
如果您使用Primefaces 3.5或更早的版本:
<p:commandButton id="submitButton" value="Submit" update=":display" oncomplete="dlg.hide();"/> 对于Primefaces 4.0:
<p:commandButton id="submitButton" value="Submit" update=":display" oncomplete="PF('dlg').hide();"/> https://stackoverflow.com/questions/18660168
复制相似问题