使用modal = true的Primefaces对话框无法正常工作

时间:2011-06-20 11:26:11

标签: javascript css jsf primefaces

我无法使用属性dialog获得(primefaces)modal=true框。它与modal = false一起正常工作,但是当我尝试设置modal=true时,即使对话框覆盖也变为无效。

如何让它正常工作?

4 个答案:

答案 0 :(得分:17)

使用Primefaces 5 appendTo="@(body)"为我解决了这个问题。

答案 1 :(得分:12)

根据对话部分的Primefaces Guide 2.2:

  

appendToBody FALSE Boolean将对话框追加为文档正文的子对象。

使用Primefaces对话框时,使用appendToBody属性可以找到对话框叠加层。 Primefaces对话框基于YUI对话框组件,对于模态对话框叠加层有类似的问题。

操作对话框叠加层将涉及覆盖叠加层的CSS类并指定自己的不透明度。

答案 2 :(得分:9)

在将p:dialog移动到单独的h:form之前,我也遇到了奇怪的行为,此时对话框中的数据与dataTable中的行匹配,但叠加层未隐藏。

appendToBody=true解决了叠加问题。我仍然需要使用输入和操作来测试对话框。

答案 3 :(得分:1)

appendToBody = true会导致与嵌套表单相关的问题 - 在对话框中输入的输入文本值将被忽略,并且在对话框获得自己的非嵌套表单之前,ajax请求不会通过。即使没有modal = true,appentToBody = true也会导致此行为。