簡體   English   中英

p命令按鈕動作不觸發,但完全觸發

[英]p commandbutton action does not fire but oncomplete fires

我正在使用jsf2。我的代碼的一部分是這樣的:

                <h:panelGrid id="jobDetail" columns="3" cellpadding="7">                        

                    <p:outputLabel value="#{msg['content.jobList.JobName']}" />
                    <p:inputText id="jobName" styleClass="BIC_search_textbox" value="#{timerConfigurationBean.selectedTimerConfigurationJob.jobName}" required="true" requiredMessage="#{msg['content.jobNew.requiredfield.errormsg']}"/>
                    <p:message for="jobName" styleClass="error"/>
                </h:panelGrid>

<p:commandButton id="update" value="Update_Button" action="#{timerConfigurationBean.updateExportJob}" styleClass="bottomButtonsAfterFirst" update="jobDetail" oncomplete="PF('updatejobpopup').show()"/>

這只是代碼的一部分。 發生的事情是,當我單擊命令按鈕“ Update_Button”時,發生以下兩種情況之一:

1)我在inputText“ jobName”中輸入一個值,然后單擊命令按鈕。 首先運行action =“#{timerConfigurationBean.updateExportJob}”中的函數,然后運行oncomplete =“ PF('updatejobpopup')。show()”。 這樣可以達到預期效果。

2)我沒有在輸入文本中輸入任何內容(這是必填字段),然后單擊命令按鈕。 我在Inputtext字段旁邊的網頁上看到一條錯誤消息(這是因為我的commandButton中有update =“ jobDetail”),並且未運行action =“#{timerConfigurationBean.updateExportJob}”,但oncomplete =“ PF(' updatejobpopup')。show()“仍在運行。 這是個問題。

我希望oncomplete僅在頁面上沒有錯誤時才運行,就像action =“#{timerConfigurationBean.updateExportJob}”中的函數一樣。

有人可以幫忙嗎?

您可以使用質數的回調向視圖提供反饋。 因此,在您的操作方法中,您可以執行以下操作:

context.addCallbackParam("ok", true);

並在onComplete中:

oncomplete ="if ( args.ok ) { PF('updatejobpopup').show(); }"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM