【问题标题】:Disable "Choose" button fileUpload in primefaces在 primefaces 中禁用“选择”按钮文件上传
【发布时间】:2014-12-08 07:34:31
【问题描述】:

我将 fileLimit 设置为 1。 我希望当用户选择第一个文件时,选择按钮被禁用。

【问题讨论】:

  • 我希望用户不要尝试上传超过 1 个文件。
  • 是的,它有。当用户尝试上传第二个文件时,它会显示错误消息。但我不希望用户可以上传第二个文件。

标签: jsf file-upload jsf-2 primefaces


【解决方案1】:

我解决了在 fileUpload 中放置一个禁用的属性,喜欢在我的 bean 中使用布尔变量。 当文件完成上传时,变量将其值更改为 true,然后我更新 fileUpload 组件,然后该组件被禁用。 谢谢大家的帮助。

【讨论】:

    【解决方案2】:

    试试这个。

    xhtml

    <p:fileUpload fileUploadListener="#{fileUploadView.handleFileUpload}" 
                  mode="advanced" 
                  dragDropSupport="false" 
                  update="messages,@this" 
                  sizeLimit="100000" 
                  fileLimit="1" 
                  allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
                  disabled="#{fileUploadView.fileUploadCount >= 1}"/>
    
    <p:growl id="messages" showDetail="true" />   
    

    托管豆

    @ManagedBean
    public class FileUploadView {
    
        private int fileUploadCount;
    
        public int getFileUploadCount() {
            return fileUploadCount;
        }
    
        public void setFileUploadCount(int fileUploadCount) {
            this.fileUploadCount = fileUploadCount;
        }
    
        public void handleFileUpload(FileUploadEvent event) {
            FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
            FacesContext.getCurrentInstance().addMessage(null, msg);
    
            fileUploadCount = fileUploadCount + 1;
        }
    }
    

    这个建议很容易改变文件限制。当您想将 fileLimit 更改为 2 时,您只需更改 fileLimit="2"disabled="#{fileUploadView.fileUploadCount &gt;= 2}" 无需修改 managedbean。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 2011-05-02
      • 2015-12-01
      • 2018-01-18
      • 1970-01-01
      相关资源
      最近更新 更多