p:commandButton的oncomplete未在ui:composition中触发

时间:2015-02-16 09:45:56

标签: ajax jsf jsf-2 primefaces commandbutton

以下代码出现在ui:composition页面并使用模板,模板使用ui:insert插入此页面。

        <p:commandButton id="basic" value="Contact #{viewProfileView.profile.credentials.username}" onclick="PF('dlg1').show();" type="button" />

    <h:form id="createMail">
        <p:dialog id="createMailDialog" header="Contact #{viewProfileView.profile.credentials.username}" widgetVar="dlg1" modal="true" draggable="false">
            <p:growl id="growl"/>

            <p:inputTextarea value="#{viewProfileView.emailBody}"
                             rows="5" cols="80" maxlength="399"
                             counter="charsLeft" 
                             counterTemplate=" {0} chars remaining."
                             autoResize="false" />
            <h:outputText id="charsLeft" />

            <p:commandButton id="sendMailButton" value="Send"
                             action="#{viewProfileView.sendMail}"
                             update="growl"
                             oncomplete="PF('dlg1').hide();"/>
        </p:dialog>
    </h:form>

我使用的是最新的JSF和Primefaces 5.1。

一切正常,除了“sendMailButton&#39;”的完整性。无法调用commandButton来关闭对话框。我知道这个代码是有效的,因为我把它放在它自己的页面中并且看到它正常工作,它只是不想作为ui的一部分工作:使用模板组合。

我非常感谢帮助,因为我一直在寻找没有运气的答案。

更新:如果我改变了'不完整'&#39;成功&#39;成功&#39;它有效,但只有一次,但这并不能解决我的问题。

非常感谢。

1 个答案:

答案 0 :(得分:0)

似乎是导致问题的模板。现在就工作。