2011-06-20 62 views
17

我無法實現(primefaces)dialog框屬性modal=true。它在modal = false的情況下正常工作,但是當我嘗試設置modal=true時,即使對話框疊加層也變爲非活動狀態。Primefaces與模態對話框=真不能正常工作

如何使其正常工作?

+5

這不是非常多的信息,你有沒有嘗試設置屬性'appendToBody = TRUE'?嘗試發佈您的代碼。 –

+0

謝謝你現在的作品,設置'appendToBody =「true」'! –

+0

有沒有更簡單的方法來操作覆蓋部分的不透明度?你可以考慮發佈這個答案,以便我可以接受它。 –

回答

12

每對對話部分Primefaces指南2.2:

appendToBody假布爾追加對話框,文件身體的孩子。

當使用Primefaces對話框時,利用appendToBody屬性可以找到對話框覆蓋。 Primefaces對話框基於YUI對話框組件,它對於模態對話框疊加層具有類似的問題。

操縱對話框覆蓋將涉及重寫CSS類覆蓋,並指定自己的不透明度。

9

我也很奇怪的行爲,直到我把p:dialog到一個單獨的h:form,此時對話框中的數據與dataTable中的行匹配,但覆蓋沒有隱藏。

appendToBody=true解決了這個問題的疊加。我仍然需要用輸入和操作來測試對話框。

1

appendToBody = true會導致與嵌套形式相關的問題 - 如在對話框中輸入被忽略,直到對話框都有自己的非嵌套形式Ajax請求不經過輸入文字值。即使沒有modal = true,appentToBody = true也會導致此行爲。

+0

有趣的是,這仍然是這種情況,5年或6年後..你會認爲他們想通了現在解決問題。 – Wep0n

13

隨着Primefaces 5 appendTo="@(body)"固定我的問題。

+0

我在使用RequestContext#execute(「PF('widgetvar')。hide()」)時遇到了麻煩,我的對話框像預期的那樣隱藏着,但是半透明的疊加層不會。代碼與PF 5.1一起工作良好,但破壞了5.2/5.3。這個解決方案讓事情再次發揮得很好(當然錯過了文檔中的某些內容......)。 – jpangamarca

+0

我敢肯定,這將工作,但在我的情況下,我的對話框是在一個窗體內(我有對話框中的表單域),所以我不能將對話框移動到身體上,而無需重新整理我的整體XHML。將繼續尋找解決方案,從PF 4升級到PF 5.3 – hendinas

相關問題