我的頁面上有一個表單上傳組件,並且希望在完成文件上載並更新頁面後在JavaScript中執行更多操作。從不會調用Primefaces組件fileUpload的完成
我把簡單的日誌語句來測試「oncomplete」執行,但它從來沒有發生。 已成功上傳文件並更新了頁面的其他部分,但未執行「未完成」操作。 這裏是我的組件:
<p:fileUpload id="objectUpload1"
fileUploadListener="#{importBackingBean.handleFileUpload}"
mode="advanced" dragDropSupport="true"
invalidFileMessage="Недопустимый тип файла"
invalidSizeMessage="Размер файла превышает 5 МВ"
cancelLabel="#{msg['stop_LABEL']}"
uploadLabel="#{msg['Upload_LABEL']}"
label="#{msg['Choose_LABEL']}" update="results objects_Data"
sizeLimit="5000000" allowTypes="/(\.|\/)(xlsx|xls)$/"
oncomplete="load();" />
而且我的javascript:
<script type="text/javascript">
function load() {
console.log('File Uploaded!');
$("button[id*='load']").click();
}
</script>
按鈕:
<p:commandButton value="Загрузить полисы"
oncomplete="#{importModelBean.needToLoadMore ? 'load();' :'none();'}"
id="load"
action="#{importBackingBean.loadOneRow(importModelBean.current)}"
process="@this" update="mainViewForm:objects_Data" />
當我手動點擊按鈕,它工作得很好。但沒有得到與filepload oncomplete點擊。
我手頭沒有任何文檔,但是您確定'oncomplete'是否支持這樣? – Kukeltje
@Kukeltje - 是的,在Primefaces中fileUpload支持oncomplete。這裏是[文檔](https://www.primefaces.org/docs/vdl/4.0/primefaces-p/fileUpload.html) –
我知道文檔的位置;-) juat not goung訪問幾MB大檔案在我的手機上...將在稍後在家中檢查 – Kukeltje