2012-01-23 17 views
13

Tôi có một ConfirmDialog phương thức được hiển thị trên một Dialog phương thức sử dụng PrimeFaces 3.0.1. Nếu ConfirmDialog được mở, toàn bộ trang sẽ bị khóa, bao gồm cả ConfirmDialog ... rien ne va plusModal ConfirmDialog trên phương thức Dialog -> mọi thứ bị chặn

Tôi tìm thấy một Bugreport cho Primefaces có vẻ tương tự http://code.google.com/p/primefaces/issues/detail?id=576 nhưng vì lỗi này liên quan đến Layout-Component không thực sự áp dụng trong trường hợp của tôi.

Có cách giải quyết nào khác không?

Xin cảm ơn !!!

+0

gì phiên bản của PF do u sử dụng không? vì nó đã được sửa trong 3.0 http://code.google.com/p/primefaces/issues/detail?id=2575 – Daniel

+0

Tôi đang sử dụng 3.0.1 ... dường như chưa được sửa chưa – treeno

Trả lời

25

sử dụng thuộc tính appendToBody="true" của thẻ p:dialog để giải quyết vấn đề này.

Từ PrimeFaces 5 trên thuộc tính đã thay đổi. Nếu bạn đang sử dụng 5 + sử dụng appendTo = "@ (cơ thể)" thay vào đó, hãy xem hướng dẫn di cư: migration guide

(Nó đã có hữu ích để biết phiên bản Primefaces của bạn)

+1

Cảm ơn! Thêm appendToBody = "true" vào p: confirmDialog là giải pháp trong trường hợp của tôi! – treeno

+0

Điều này ('appendToBody =" true "') đã giải quyết vấn đề trong ứng dụng (PrimeFaces 3.2) của tôi, cả hai đối với confirmDialogs chỉ tạo ra các yêu cầu AJAX và các yêu cầu làm mới toàn bộ trang. –

+3

Nó không hoạt động đối với tôi với Primefaces 5 – daVe

1

Kể từ khi tôi cần một nút gửi trong hộp thoại tôi không may phải tìm kiếm một giải pháp khác sau đó appendToBody = "true". Đối với tất cả mọi người phải đối mặt với cùng một vấn đề, ở đây có giải pháp:

Nếu bạn muốn những điều sau đây:

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

Điều này sẽ dẫn đến một trang hoàn toàn bị chặn. Kéo Mẫu tử hai yếu tố cao hơn và nó sẽ làm việc:

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

Sử dụng appendTo = "@ (cơ thể)" trong thẻ nó làm việc cho tôi

+0

appendToBody = "true" không làm việc cho tôi. Nhưng nó hoạt động đúng cách. – erginduran

Các vấn đề liên quan