Модальное подтверждениеDialog над модальным диалогом → все заблокировано
У меня есть модальный ConfirmDialog, который показан в модальном диалоге с использованием PrimeFaces 3.0.1.
Если ConfirmDialog открывается, вся страница блокируется, включая сам ConfirmDialog... rien ne va plus
Я нашел Bugreport для Primefaces, который похож на http://code.google.com/p/primefaces/issues/detail?id=576, но поскольку ошибка связана с компоновкой макета, в моем случае это действительно не так.
Есть ли обходной путь или что-то еще?
Спасибо!!!
Ответы
Ответ 1
используйте атрибут appendToBody="true"
тега p:dialog
, чтобы решить эту проблему.
От PrimeFaces 5 от атрибута изменилось. Если вы используете 5+, используйте appendTo = "@(body)", см. Руководство по миграции: руководство по миграции
(Было бы полезно узнать вашу версию Primefaces)
Ответ 2
Используйте appendTo = "@(body)" в теге, который он работает для меня
Ответ 3
Так как мне нужна кнопка отправки в диалоговом окне, к сожалению, мне пришлось искать другое решение, а appendToBody = "true". Для всех, кто сталкивается с одной и той же проблемой, здесь приходит решение:
Если вы хотите:
<p:dialog modal="true">
<h:form>
...
<p:confirmDialog>
<p:commandButton action="#{transportBean.execute}" type="submit" .../>
</p:confirmDialog>
...
</h:form>
</p:dialog
Это приведет к закрытой странице. Потяните Элемент формы на два элемента выше, и он будет работать:
<h:form>
<p:dialog modal="true">
...
<p:confirmDialog>
<p:commandButton action="#{transportBean.execute}" type="submit" .../>
</p:confirmDialog>
...
</p:dialog
</h:form>