如何在提交/上传之前使用t:inputFileUpload检查文件是否被选中

时间:2011-12-01 12:17:03

标签: jsf file-upload jsf-2 tomahawk

我想知道在点击提交/上传按钮之前是否可以检查文件是否已被选中?

我想用此选项解决的问题是如果没有选择文件,则隐藏“提交/上传”按钮?使用required="true"属性对我来说不是一个选项,因为用户并不总是必须提供文件。

1 个答案:

答案 0 :(得分:2)

这可以通过最初隐藏CSS上传按钮并将一些JS附加到文件字段的change事件,如果选择了文件,则显示上传按钮。

<h:form id="form">
    <t:inputFileUpload id="file" value="#{bean.file}" required="true" 
        onchange="document.getElementById('form:upload').style.display = (!!value) ? 'block' : 'none'" />
    <h:commandButton id="upload" value="Upload" action="#{bean.upload}" style="display: none;" />
</h:form>