2013-03-11 5 views
0

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

< p:dialog id="dialog" header="Select different user" styleClass="atf-header"   widgetVar="dlg" appendToBody="true"> 
    <ui:include src="searchpopup.xhtml" /> 
     </p:dialog> 
    <h:panelGroup> 
    <h:outputLabel value="#{I18N['Create_Ticket_for_other_users']}" styleClass="atf-header" style="width:600px"></h:outputLabel> 
    </h:panelGroup> 
    <h:panelGroup id="search_section" layout="block" 
     styleClass="atf-content-area atf-separarot-botton" style="width:600px"> 
     <h:panelGroup id="input_search_section" > 
      <h:outputText id="name" value="Siddharth Mishra"  
      labelStyleClass="atf-label"> 
      </h:outputText> 
     </h:panelGroup> 
    <h:panelGroup styleClass="atf-right atf-inline-block"> 
     <p:commandButton id="btn_search" value="select different user" 
      styleClass="atf-button-search" onclick="dlg.show()"> 
     </p:commandButton> 
    </h:panelGroup> 
</h:panelGroup> 
+0

Hi Cyd. Если вы создаете 'p: dialog' без' ui: include', что произойдет? Попробуйте создать диалог, поместив весь контент внутри внутреннего диалога. Также разместите код внутри 'ui: include'. –

ответ

2

Вы p:commandButton кнопка AJAX (которая по умолчанию в primefaces), который представляет всю форму. Добавьте атрибут type="button", чтобы он был просто обычной кнопкой, которая делает некоторый JavaScript (так называемая кнопка). Также я не вижу здесь h:form тег здесь. Как у вас есть appendToBody="true" у вас p:dialog быть на берегу, что вы не инкапсулируете p:dialog внутри h:form. Вы должны иметь h:form внутри p:dialog, если необходимо, и если он не перемещается p:dialog за пределами h:form.

+0

Бинго! .. спасибо за ответ да, что было причиной .. :-) – Cyd

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