Ich habe ein Problem mit einer <rich:modalPanel>
mehr als einmal angezeigt. Ich habe ein Formular, das eine <a4j:commandlink onclick="#{rich:component('mp')}.show()"
hat (habe auch eine rich:componentControl
versucht).Rich: Modalpanel wird nicht mehr als angezeigt, wenn von Formular
Dieser Ansatz funktioniert gut einmal. Innerhalb des modalen Bereichs habe ich ein neues Formular mit einer Aktion, die an den Absenden-Button angehängt ist (a4j:commandButton
). Wenn diese Aktion abgeschlossen ist, wird das modalpanel mit dem gleichen Ansatz wie oben mit oncomplete="#{rich:component('mp')}.hide()"
ausgeblendet, und das Formular, das den Befehlslink enthält, wird erneut gerendert.
Jetzt ist das Problem, dass der BefehlsLink zum Anzeigen des Modalpanels nicht mehr funktioniert. Wenn ich eine js in das onclick
Ereignis einstelle, kann ich sehen, dass das Ereignis onclick
gefeuert wird, aber das modalpanel wird nicht gerendert.
Hope this genügend Informationen ... kann ich einige Quellcode hinzufügen später benötigt, wenn
Dank
edit: hier einige mehr Code:
<a4j:form prependId="false" ajaxSubmit="true">
<a4j:outputPanel id="createActivityPanel">
<h:panelGrid columns ="2">
<h:outputLabel value="#{msg.createActivityExpectedParticipantsLabel}" />
<h:panelGrid columns ="2">
<h:outputLabel value="#{msg.createActivityAvailablePointsLabel}: #{sessionBean.loggedInUser.letspoints}" />
<a4j:commandLink value="#{msg.createActivityGetMorePointsLinkLabel}" onclick="#{rich:component('convertPointsPanel')}.show()" />
<rich:inputNumberSlider id="participantsSlider" value="#{activityRequestBean.newActivityExpectedNoParticipants}" maxValue="#{activityRequestBean.maxNoParticipants}" />
</h:panelGrid>
</h:panelGrid>
</a4j:outputPanel>
</a4j:form>
<rich:modalPanel rendered="#{sessionBean.loggedIn}" id="convertPointsPanel" width="700" height="400">
<a4j:support event="onhide" reRender="createActivityPanel"></a4j:support>
<f:facet name="header">
<h:outputText value="Velg poeng fra kategorier for å konvertere" />
</f:facet>
<f:facet name="controls">
<a4j:form><a4j:commandButton id="closeButton" onclick="#{rich:component('convertPointsPanel')}.hide()" type="image" image="/img/close.gif"/></a4j:form>
</f:facet>
<a4j:form prependId="false" ajaxSubmit="true" id="convertPointsForm">
<h:panelGrid columns ="2">
<h:panelGroup layout="block" style="width:350px; float:left;">
<rich:dataList var="catscore" value="#{pointsRequestBean.scores}" id="activityPointSliderList">
<h:graphicImage height="30" width="30" value="#{catscore.usercategoryscore.category.imagepath}" />
<h:outputText value="#{catscore.usercategoryscore.category.name}" />
<rich:inputNumberSlider maxValue="#{catscore.usercategoryscore.score}" value="#{catscore.transferredScore}" step="2" />
</rich:dataList>
<a4j:commandButton value="Konverter" id="convertButton" action="#{pointsRequestBean.convertPoints}" oncomplete="#{rich:component('convertPointsPanel')}.hide()" reRender="createActivityPanel"/>
</h:panelGroup>
<h:panelGroup layout="block" style="width:350px; float:right; border-left: 1px solid #ACBECE; padding: 10px;">
<h:outputText value="kjøp poeng fra paypal?" />
</h:panelGroup>
</h:panelGrid>
</a4j:form>
</rich:modalPanel>
Hinweis, dass ich befolgte den Ratschlag beim erneuten Rendern des Panels anstelle des Formulars.
hast du mein Problem gelöst !! Tkz !! – velteyn