Мой сценарий - отображать сообщения из списка один за другим в модальном всплывающем окне. Список будет состоять из пользовательского объекта, который имеет три поля: «Сообщения», «BgColor» и «TextColor». Модальное всплывающее окно будет иметь одну кнопку «СЛЕДУЮЩИЙ», и при нажатии этой кнопки отображаются всплывающие сообщения и сообщение будет отображаться в соответствующем цвете фона и цвете текста.Не удалось закрыть модальное всплывающее окно
Main.xhtml
<rich:popupPanel id="popupOne" modal="true" rendered="#{demoBean.isTrue}">
<a4j:outputPanel id="popupTwo" >
<ui:include id="PackStation_OrderNote_Popup" src="/MyXhtml.xhtml">
<ui:param id="backcolor" name="backcolor" value="#{demoBean.bgColor}"/>
<ui:param id="textcolor" name="textcolor" value="#{demoBean.textColor}"/>
</ui:include>
</a4j:outputPanel>
</rich:popupPanel>
MyXhtml.xhtml
<a4j:outputPanel id="panelone" >
<h:outputText id="errorMsg" name="errorMsg" class="pop_outputText" value="#{demoBean.messages}" />
<a4j:commandButton id ="btnOne"
action="#{demoBean.continueMsgSequenece}"
value="next"
reRender="popupOne"
oncomplete="closePOPUP('#{demoBean.messages}');">
</a4j:commandButton>
</a4j:outputPanel>
функция Javascript
function closePOPUP(msg)
{
if(msg==""){
//code to close modal popup
UI8Layout.doDialogCloseById('popupOne');
}
}
если я ставлю "popupOne" в оказанной атрибут a4j: CommandButton из myXhtml.xhtml. Цвет фона и цвет текста меняются, и сообщения появляются, когда я нажимаю кнопку «ВЕРХНИЙ», как ожидалось, в модальном всплытии, но при нажатии «следующая кнопка» модальное всплывающее окно не закрывается, когда заканчиваются сообщения.
И если я поместил «popupTwo» в визуализированный атрибут a4j: commandButton из myXhtml.xhtml. Цвет фона и цвет текста не изменяются в модальном всплытии, но при нажатии «следующая кнопка» модальные всплывающие окна закрываются, когда заканчиваются сообщения.
Мне нужно отображать сообщения с цветом фона и цветом текста, а модальные всплывающие окна должны закрываться, когда сообщения заканчиваются.
Сообщения поступают в последовательности, как ожидалось.
Это моя реализация неправильно или есть что-то, с чем мне приходится иметь дело?
Примечание: моя функция Javascript не закрывает модальные всплывающие окна в первом случае, но закрывает модальные всплывающие окна во втором случае, когда сообщение заканчивается.
я прочитал некоторые где что a4j: CommandButton и OnComplete показывает некоторое странное поведение, однако навигации или когда a4j: commandButton помещается внутри панели Ajax. может кто-нибудь через какой-то свет на него? и как работает a4j: commandButton? –