2017-01-24 3 views
-1

У меня есть прайс-лист версии 6.0, и я столкнулся с этой проблемой, когда диалог не появился.Диалоговое окно правки не появляется при нажатии кнопки

Это кнопка.

<p:commandButton id="newRequestButton" 
       class="btn btn-lg btn-primary" 
       value="New Request" 
       update=":newRequestForm:newRequestDialog" 
       oncomplete="PF('newRequest').show()" /> 

И это диалоговое

<p:dialog header="Request Definitions" widgetVar="newRequest" 
        resizable="true" width="600" showEffect="explode" 
        hideEffect="explode" modal="true" height="300" 
        class="modal-dialog"> 
    <h:form id='newRequestForm'> 
     <h:panelGrid id="newRequestDialog" columns="1" cellpadding="4"   
        class="modal-content"> 

     </h:panelGrid> 
    </h:form> 
</p:dialog> 

Whatcould быть проблемой. Я воспользовался несколькими ответами, такими как this и this безрезультатно.

EDIT: Где же именно dialogs должны быть помещены в отношении forms и commandButtons активирующих их?

+0

Что вы изучали при регистрации? Консоль браузера? Пробовали ли вы обновлять содержимое диалогового окна, а затем показывали его вместо обновления диалогового окна? – Kukeltje

+0

@Kukeltje, как вы можете видеть, я обновляю 'h: panelGrid', который имеет содержимое диалогового окна – Obby

+0

Извините, неправильно прочитал, что ... :-(Форма должна быть в диалоговом окне, когда она модальная, и имеет« appendTo 'тела (см. документы PF. Позиция по отношению к commandButton на самом деле не актуальна. Нет причин, по которым это не должно работать, если вызов на сервер не производится из-за того, что commandButton не работает вообще, что может протестировать, заменив «show» на простое предупреждение javascript. – Kukeltje

ответ

-1

Проблема заключалась в том, что я включил оба самозагрузки JQuery и JQuery в комплекте с помощью primefaces. Отключить загрузку jquery.

+0

Тогда у вас, скорее всего, были ошибки в консоли JS ... В следующий раз создайте [mcve] ... Теперь ничего, что могло бы вызвать вашу проблему, было видно. – Kukeltje

0

Вам нужно поместить commandButton и диалог в тег h: form с атрибутом id, таким как «form», а затем в атрибуте update commandButton, сначала написать «form» (значение атрибута id h: form, которое содержит кнопку и диалог). попробуйте следующий код:

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:p="http://primefaces.org/ui" 
    <h:head> 
    </h:head> 
    <h:body> 
    <h:form id="form"> 

     <p:commandButton id="newRequestButton" 
       class="btn btn-lg btn-primary" 
       value="New Request" 
       update=":form:newRequestDialog" 
       oncomplete="PF('newRequest').show()" /> 

     <p:dialog header="Request Definitions" widgetVar="newRequest" 
        resizable="true" width="600" showEffect="explode" 
        hideEffect="explode" modal="true" height="300" 
        class="modal-dialog"> 

     <p:outputPanel id="newRequestDialog" style="text-align:center;"> 

     <p:panelGrid columns="1" class="modal-content"> 

     </p:panelGrid> 

     </p:outputPanel> 

     </p:dialog> 

     </h:form> 
</h:body> 
</html> 
+0

de на самом деле аналогично, но формы не вложены. Но это все еще не работает. Я использую хром. Включенные опции разработчика и на консоли я не получаю никаких сообщений об ошибках или любых сообщений при нажатии. – Obby

+0

Хорошо, что приведенный выше код работает нормально в папках 5.0 – ArgaPK

+0

теперь попробуйте отредактированный выше код, он не содержит вложенную форму, а также открывается диалоговое окно с нажатием командыButton – ArgaPK

Смежные вопросы