This question already has an answer here:
ReferenceError: PF is not defined

(1 个回答)


5年前关闭。




在 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

最佳答案

你可以更换

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

经过
oncomplete="dlg.hide();"

关于javascript - oncomplete ="PF(' dlg').hide() ;"causes "PF 找不到”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18660168/

10-10 10:22