2014-11-02 56 views
0

如代碼中所示,fileupload調用一個方法,該方法將文件保存在列表<>中。從執行PF('fileupload')upload()的按鈕上傳文件。 我在這裏需要的是,當您上傳最近在上傳結束時預加載的「n」時,請執行該按鈕的操作方法。完成上傳文件,然後執行按鈕的jsf:操作

<p:fileUpload id="fileupload" 
       widgetVar="fileupload" 
       fileUploadListener="#{incidentBean.handleAttachment}" 
       mode="advanced" 
       label="Adjuntar (máx. 800kb)" 
       invalidFileMessage="Archivo inválido" 
       update="form-attachments" 
       allowTypes="/(\.|\/)(jpg|jpeg|gif|png)$/" 
       multiple="true" 
       sizeLimit="820000" 
       invalidSizeMessage="Archivo pesado" /> 

<button class="btn btn-info" 
     type="submit" 
     jsf:id="cmd" 
     jsf:action="#{incidentBean.save()}" 
     jsf:onclick="PF('fileupload').fileupload();"> 

感謝您的幫助。

回答

2

您可以在文件上傳的oncomplete屬性簡單地連接到一個<p:remoteCommand/>,這樣你就會有:

<p:remoteCommand name="save" actionListener="#{incidentBean.save}"/> 

<p:fileUpload id="fileupload" oncomplete="save();" widgetVar="fileupload"/> 
+0

的回調的onComplete一個FileUpload請求後執行。在多次上傳的情況下,發出2個請求,不完整將執行兩次。你必須改變oncomplete =「save();」 for oncomplete =「if(this.files.length == 0)save()」 – 2016-10-29 17:15:35

相關問題