web-dev-qa-db-ja.com

モーダルダイアログ上のモーダルConfirmDialog->すべてがブロックされます

PrimeFaces3.0.1を使用してモーダルダイアログに表示されるモーダルConfirmDialogがあります。 ConfirmDialogを開くと、ConfirmDialog自体を含むページ全体がロックされます... rien ne va plus

同様に聞こえるPrimefacesのバグレポートを見つけました http://code.google.com/p/primefaces/issues/detail?id=576 しかし、バグはレイアウトコンポーネントに関連しているため、これは私の場合は実際には当てはまりません。

回避策などはありますか?

ありがとう!!!

15
treeno

これを解決するには、_appendToBody="true"_タグの_p:dialog_属性を使用します。

PrimeFaces5から属性が変更されました。 5+を使用している場合は、代わりにappendTo="@(body)"を使用してください。移行ガイドを参照してください: 移行ガイド

(Primefacesのバージョンを知っておくと役に立ちました)

28
Mario B

私のために働くタグでappendTo = "@(body)"を使用してください

4
Fredy Diaz

ダイアログに送信ボタンが必要なため、残念ながら別のソリューションを検索してからappendToBody = "true"を検索する必要がありました。同じ問題に直面しているすべての人のために、ここに解決策があります:

次のことをしたい場合:

<p:dialog modal="true">
    <h:form>
        ...
        <p:confirmDialog>
            <p:commandButton action="#{transportBean.execute}" type="submit" .../>
        </p:confirmDialog>
        ...
    </h:form>
</p:dialog

これにより、ページが完全にブロックされます。フォーム要素を2つ上に引くと、機能します。

<h:form>
    <p:dialog modal="true">        
        ...
        <p:confirmDialog>
            <p:commandButton action="#{transportBean.execute}" type="submit" .../>
        </p:confirmDialog>
        ...        
    </p:dialog
</h:form>
1
treeno