如何使用其他组件来触发p:fileUpload选择按钮?

时间:2018-02-20 11:48:49

标签: primefaces

它分别显示文件上传按钮和图形图像,但是当我点击它上传文件的图形图像时我想要。

这是我的文件上传代码:

<p:fileUpload fileUploadListener="#{pmController.handleFileUpload}"
    mode="advanced" label="Upload" update="messages" auto="true">
    <h:graphicImage name="images/AddImage.gif" style="margin-left: 1%;"
        title="Attach Image" />
</p:fileUpload>

1 个答案:

答案 0 :(得分:0)

最简单的方法是在上传组件中添加样式类,并在单击图形图像时使用该样式类选择并单击“选择”按钮。虽然PrimeFaces允许您使用p:fileUpload中的图形图像,但我不会这样做。它很可能导致意外/意外行为。

<p:fileUpload styleClass="myUpload"
              .../>
<h:graphicImage ...
                onclick="document.querySelector('.myUpload input').click()"/>

如果你想隐藏p:fileUpload&#34;选择&#34;按钮,添加以下CSS规则:

.myUpload .ui-fileupload-choose { display: none; }