【发布时间】:2017-05-29 06:51:46
【问题描述】:
我的页面上有一个表单上传组件,我想在文件上传完成和页面更新后在 JavaScript 中进行更多操作。
我放置了简单的日志语句来测试“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" />
当我手动单击按钮时,它工作得很好。但文件加载完成后没有被点击。
【问题讨论】:
-
我手头没有文档,但你确定
oncomplete是这样支持的吗? -
@Kukeltje - 是的,Primefaces 中的文件上传支持 oncomplete。这是documentation
-
我知道文档在哪里 ;-) juat not goung 无法访问我手机上的几 MB 大文件...稍后将在家里检查
标签: jsf file-upload primefaces