我使用ui:include在outer.xhtml中包含了一个inner.xhtml页面。 inner.xhtml有一个p:commandLink,其oncomplete属性打开一个p:dialog。
inner.xhtml
<html>
<ui:composition>
<h:form>
<p:commandLink oncomplete="mydialog.show();" actionListener="listener method" process="@this">
</p:commandLink>
</h:form>
</ui:composition>
<p:dialog id="mydialogid" widgetVar="mydialog">
My Code For Dialog
</p:dialog>
</html>
outer.xhtml
<h:form>
<p:commandButton oncomplete="dlg.show();" actionListener="listener method" global="false"></p:commandButton>
</h:form>
<p:dialog id="dlgid" widgetVar="dlg" dynamic="true" appendTo="@(body)">
<ui:include src="inner.xhtml">
<ui:param name="idPrefix" value="par"/>
</ui:include>
</p:dialog>
问题是,点击inner.xhtml中的commandlink后,我收到此错误
Uncaught ReferenceError: mydialog is not defined
对话框没有打开。如何解决这个问题?
我正在使用primefaces 4.0
答案 0 :(得分:0)
查看PrimeFaces文档。
你需要这样做: -
<p:commandButton oncomplete="PF('mydialog').show();">
我目前在oncomplete
遇到问题,所以如果这不起作用,请尝试以下方法排除此问题: -
<p:commandButton onclick="PF('mydialog').show();">