p:commandButton 的完成未在 ui:composition 内触发
oncomplete of p:commandButton not firing within ui:composition
以下代码出现在 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' commandButton 的 oncomplete 来关闭对话框外,一切正常。我知道此代码有效,因为我已将它放在自己的页面中并看到它有效,它只是不想作为带有模板的 ui:composition 的一部分工作。
非常感谢您的帮助,因为我一直在寻找没有运气的答案。
更新:如果我将 'oncomplete' 更改为 'onsuccess' 它会起作用,但只有一次,但这并不能解决我的问题。
非常感谢。
看来是模板出了问题。现在工作。
以下代码出现在 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' commandButton 的 oncomplete 来关闭对话框外,一切正常。我知道此代码有效,因为我已将它放在自己的页面中并看到它有效,它只是不想作为带有模板的 ui:composition 的一部分工作。
非常感谢您的帮助,因为我一直在寻找没有运气的答案。
更新:如果我将 'oncomplete' 更改为 'onsuccess' 它会起作用,但只有一次,但这并不能解决我的问题。
非常感谢。
看来是模板出了问题。现在工作。