小编Seb*_*ian的帖子

如何禁用 PrimeFaces FileUpload 中的选择按钮,直到上传完成

是否可以阻止/禁用 FileUpload 中的“选择”按钮?

我在高级模式下使用 p:fileUpload 并设置 multiple="true"。如果我点击上传按钮开始上传所有文件,我想阻止添加更多文件,直到所有文件都上传完毕。

PrimeFaces 的版本是 5.1。

p:fileUpload 的定义:

<p:fileUpload id="fileUpload" update=":form:uploadTable :msg :msgs" fileUploadListener="#{fileUploadBean.handleFileUpload}" mode="advanced" dragDropSupport="false"
              multiple="true" sizeLimit="3221225472" fileLimit="100" style="margin:15px 0px;width:900px;" />
Run Code Online (Sandbox Code Playgroud)


p:blockUI
的解决方法我找到了一个使用 blockUI 元素的解决方法。因此,在开始时会显示 blockUI,并在所有上传完成后隐藏 blockUI。为此,需要 javascript 代码。

<p:fileUpload id="fileUpload" update=":form:uploadTable :msg :msgs" fileUploadListener="#{fileUploadBean.handleFileUpload}" mode="advanced" dragDropSupport="false"
                  multiple="true" sizeLimit="3221225472" fileLimit="100" style="margin:15px 0px;width:900px;"
                  onstart="setUploadFilesCount()" oncomplete="handleUploadComplete()" />  
<p:blockUI block="fileUpload" widgetVar="wVarBFileUpload" />
Run Code Online (Sandbox Code Playgroud)

Javascript代码:

<script type="text/javascript">
    var fileCounter;
    var numberOfFiles;
    function setUploadFilesCount() {
        PF('wVarBFileUpload').show();
        fileCounter = 0;
        numberOfFiles = $('.ui-fileupload-preview').size();
    }

    function handleUploadComplete() {
        fileCounter++;
        if(fileCounter == numberOfFiles) { …
Run Code Online (Sandbox Code Playgroud)

jsf primefaces

2
推荐指数
1
解决办法
6920
查看次数

标签 统计

jsf ×1

primefaces ×1