javascript - 如何将监听器添加到 p :fileUpload 中的选择按钮

标签 javascript jsf primefaces

是否可以为 FileUpload 组件中的“选择”按钮添加一个监听器?

我在高级模式下使用 p:fileUpload。

我浏览了文档,它只支持在点击“上传”按钮后触发的 fileUploadListener。(也试过 actionListener,validationListener)

PrimeFaces 的版本是 5.3。

p:fileUpload 的定义:

<p:fileUpload
                            fileUploadListener="#{ipchYonetimiController.handleFileUpload}" 
                            widgetVar="aras"
                            mode="advanced" dragDropSupport="false" update="@this toplumsgs"
                            sizeLimit="100000" fileLimit="1" 
                            cancelLabel="İptal et" allowTypes="/(\.|\/)(xlsx)$/"
                            invalidSizeMessage="Dosya boyutu çok büyük"
                            invalidFileMessage="Dosya formatı xlsx olmalı"
                            fileLimitMessage="Sadece bir dosya yükleyebilirsiniz" />

这是我需要它的图片: enter image description here

我基本上想在用户单击选择按钮时清除验证错误。由于选择按钮包含在 fileUpload 组件中,因此无法为其分配监听器。

尝试调整此链接中的代码并向按钮添加监听器,但没有成功:

 PF('aras').chooseButton.addEventListener(...)

How to disable Choose button in PrimeFaces FileUpload until the upload is complete

最佳答案

你能试试这个吗 - 它对我有用:

<p:fileUpload id="fileupload" ..... />

<script>
    $(document).on("click", ".ui-fileupload input[type=file]", function(event){
        $(this).closest('.ui-fileupload').find('.ui-icon-close').trigger('click');
    });
</script>

关于javascript - 如何将监听器添加到 p :fileUpload 中的选择按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44151459/

相关文章:

java - 从 JavaScript (AJAX) 调用和使用 JBoss Web 服务

javascript - 如何找出在javascript中加载了哪些javascript?

java - 使用SEAM 2.1.2和JBOSS 4.2.3GA的组合框中出现错误

java - 将 Primefaces 从 3.2 更新到 3.4 会抛出 java.lang.NoSuchFieldError : SKIP_ITERATION

jsf - 如何在Tomcat上安装和使用CDI?

java - primefaces 部分处理不起作用

javascript - 用于创建 D3 TreeMap 的 Neo4j 结果(JSON 格式)

javascript - 定位项(含html、css、js)

jquery - 如何存储请求 "offline"以便稍后执行?

validation - 如何防止取消对话框中的表单验证?