2

ダイアログを表示したいページがあります。

コード :

page1.xhtml

<p:commandLink value="Show Dialog" oncomplete="dlgWVar.show();"/>
<p:dialog widgetVar="dlgWVar"
          width="800"
          id="dialog"
          position="top"
          modal="true"
          header="Test Dialog"
          height="500">

    <iframe src="page2.xhtml" width="100%" height="500px" style="border-width: 0PX;">
    </iframe>

</p:dialog>

このダイアログに、page2.xhtml がリンクされている iFrame があります。

page2.xhtml

   <p:commandButton value ="Close Dialog">
   </p:commandButton>

page2.xhtml には commandButton が含まれています。commandButton をクリックした後、ダイアログを閉じる必要があります。

それを行う方法がわかりません。page1.xhtmlのダイアログを閉じるには、page2.xhtmlのcommandButtonに何を書けばいいですか?助けてください。

ありがとう。

4

2 に答える 2

3

古い PrimeFaces バージョンの場合は、 を試してくださいwindow.parent.dlgWVar.hide()。これは、メイン ウィンドウと iframe の両方が同じドメインのページを表示している場合にのみ可能です。

5以降のPrimeFacesバージョンについては、他の回答を参照してください

于 2013-01-15T07:39:14.330 に答える