OnComplete = "PF ('DLG') hide ();". reason "PF not found" error

On the PrimeFaces website, they have many examples of using their components. One of the features that I find very useful is the ability to show and hide PrimeFaces dialogs. In the examples, this is done as follows:

<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> 

If you notice in the command button, it calls:

 oncomplete="PF('dlg').hide();" 

However, when I try to reproduce this example, my Firebug debugger complains that PF cannot be found. Is there anything I need to add to my JSF page in order to access PF ?

+4
source share
2 answers

You can replace

 oncomplete="PF('dlg').hide();" 

by

 oncomplete="dlg.hide();" 
+4
source

If you are using Primefaces 3.5 or later:

 <p:commandButton id="submitButton" value="Submit" update=":display" oncomplete="dlg.hide();"/> 

For Primefaces 4.0:

 <p:commandButton id="submitButton" value="Submit" update=":display" oncomplete="PF('dlg').hide();"/> 
+6
source

Source: https://habr.com/ru/post/1500942/


All Articles