Primefaces dialog + commandButton

Ich versuche, primefaces <p:dialog> kombiniert mit <p:commandButton>. In meiner .xhtml-Seite habe ich eine Auswahlliste und Befehlsschaltfläche, die verwendet wird, um einen dialog anzeigen. Der Auswahldialog zeigt eine Datentabelle mit soll-Werte aus der Auswahlliste. Dialog hat zwei Schaltflächen: Abbrechen und abschicken. Mein problem ist, dass der submit-button nicht ausgelöst. Was ist seltsam, commandButton aus der dialog funktioniert.

Hier ist meine .xhtml:

<body>
   <ui:composition template="./../resources/mainTemplate.xhtml">
        <ui:define name="content">
            <h:form>
                <p:dialog id="dlg" header="#{messages.chooseSkillLevel}" widgetVar="dlg" modal="true" dynamic="true">
                    <h:dataTable value="#{editSkills.skillsAndLevels}" var="skillslevel">
                        <h:column>
                            #{skillslevel.skill.umiejetnosc}
                        </h:column>
                        <h:column>
                            <p:selectOneMenu value="#{skillslevel.level}" >
                                <f:selectItems value="#{editSkills.levels}" var="level" itemLabel="#{level.stopien}" itemValue="#{level.id}" />
                            </p:selectOneMenu>
                        </h:column>
                    </h:dataTable>
                    <p:commandButton value="#{messages.confirm}" action="#{editSkills.showSkillsAndLevels}" oncomplete="dlg.hide();" />   THIS BUTTON IS NOT FIRED
                    <p:commandButton value="#{messages.cancel}" onclick="dlg.hide()"/>
                </p:dialog>
                <p:pickList value="#{editSkills.skills}" var="skill" effect="none"  
                itemValue="#{skill.id}" itemLabel="#{skill.umiejetnosc}"  
                showSourceFilter="true" showTargetFilter="true" filterMatchMode="contains" 
                addLabel="#{messages.add}" removeLabel="#{messages.remove}" removeAllLabel="#{messages.removeAll}" >  
                    <f:facet name="sourceCaption">#{messages.skillsList}</f:facet>  
                    <f:facet name="targetCaption">#{messages.yourSkills}</f:facet>
                    <p:ajax event="transfer" listener="#{editSkills.onTransfer}" /> 
                    <p:column style="width:100%;">  
                        #{skill.umiejetnosc}  
                    </p:column> 
                </p:pickList>
                <p:commandButton value="#{messages.confirm}" action="#{editSkills.afterSubmit}" update="dlg" oncomplete="dlg.show()" />   THIS BUTTON WORKS FINE
                <p:commandButton value="#{messages.cancel}" action="profile" immediate="true"/>
           </h:form>
        </ui:define>
    </ui:composition>
</body>

Habe ich markiert working-Taste und funktioniert nicht.
Was muss ich tun damit es funktioniert?

Haben Sie schaute auf die Konsole, es ist nicht macht einen ajax-call? oder ist es einfach nicht funktioniert? Versuchen Sie suchen in firebug wenn Ihr die übertragung der Daten zum server, oder ist die AJAX abfeuern und die Methode #{editSkills.showSkillsAndLevels} ist nicht genannt? Prüfen Sie auch, ob firebug zeigt nicht irgendwelche JS Fehler.
es scheint, dass es nicht aufgerufen wird, auf allen. Sehe keine JS Fehler zu.

InformationsquelleAutor AjMeen | 2013-01-17

Schreibe einen Kommentar