2009-07-04 6 views
5

Używam jsf reach faces w jednej aplikacji. Używam rich: modalPanel do czytania wyskakujących okienek i wysyłania panelu za pomocą przycisku komendy a4j po odpowiedzi z serwera Chcę ukryć modalPanel, ale nie wiem jak,Jak ukryć rich: modalPanel w odpowiedzi Ajaxa w JSF

Wciąż próbuję rozwiązania, Dowolny help Please

Kod bogatego modalPanel jest podobny do tego.

<rich:modalPanel id="panelID" minHeight="200" minWidth="450" height="200" width="500"> 
<a4j:commandButton reRender="sampleID" action="#{SomeTestAction}" image="sample-button.gif"/> 
</rich:modalPanel> 

Odpowiedz

5

Łatwo można napisać:

**UPDATED** 

To rozwiązanie jest lepsze, ponieważ nie trzeba javascript.

<a4j:commandButton reRender="sampleID" action="#{SomeTestAction}" image="sample-button.gif"> 
     <rich:componentControl for="panelId" operation="hide" event="onclick" /> 
</a4j:commandButton> 

Albo z JavaScript

<a4j:commandButton reRender="sampleID" action="#{SomeTestAction}" image="sample-button.gif" oncomplete="javascript:Richfaces.hideModalPanel('panelId');"/> 

Albo można przesłać formularz, a okienko zniknie.

<a4j:commandButton reRender="sampleID" action="#{SomeTestAction}" image="sample-button.gif" oncomplete="document.getElementById('Id_form').submit();"/>: 

gdzie „Id_form” - to identyfikator postaci gdzie <rich:modalPanel> został pokazany.

+0

Dzięki temu działa dla mnie .. –

+0

Czy można go zamknąć, z normalnego pliku javascript? (chcę tworzyć różne myślenie przez "onmaskclick", ale na końcu powinien być zamknięty – Joerg