【问题标题】:How to use p:ajax oncomplete event on p:fileUpload. Getting error when using如何在 p:fileUpload 上使用 p:ajax oncomplete 事件。使用时出现错误
【发布时间】:2012-04-13 05:28:43
【问题描述】:

我正在使用 PrimeFaces 2.2。我正在使用 p:fileuplaod,当 fileUploads 然后使用更新时,我更改了页面上的图像。在这里。

<p:fileUpload id="countryFlag" widgetVar="uploader" description="Image"
      update="Flag" allowTypes="*.jpg;*.png;*.gif;*.jpeg;" auto="true"
      fileUploadListener="#{countryPages_Detail.imageUpload}">

    <p:ajax oncomplete="test('Flag')" />

</p:fileUpload>

<p:graphicImage id="Flag" value="#{countryPages_Detail.imagePath}"
      width="80" height="50" cache="false">

    <f:event type="preRenderComponent" listener="#{countryPages_Detail.putImage}" />                                                 

</p:graphicImage>

我想使用脚本做的是,当上传完成时,当图像已更改时使用 ajax,然后我想检查图像 src 属性。这是我的 test() 函数,它不完整,但是在这里

function test(imageId) {

    var imgId = imageId;
    var image =  $("#saarcImagesTable tr").find("img[id='imageId']")
    alert("Image change");
}

但我得到的错误是

父级不是 ClientBehaviorHolder 的实例:org.primefaces.component.fileupload.FileUpload@e39f71

为什么我会收到此错误?我做错了什么?

谢谢

【问题讨论】:

    标签: primefaces


    【解决方案1】:

    p:fileUpload 组件没有实现消息状态的 ClientBehaviorHolder 接口,因此它不是可以包含 ajax 标记的组件(请参阅this post)。

    我不熟悉 fileUpload 组件,但我在 PF 3.2 的文档中看到 p:fileUpload 有一个 oncomplete 属性。

    【讨论】:

    • 嗯,您发布的链接有评论fileuploads and ajax are a different story. Use advanced mode if you want ajax uploads.什么是高级模式?你能告诉我我可以通过什么其他方式检测 p:graphicImage 中的更改事件吗?就像每当 p:graphicImage 发生变化时,我的 javascript 函数都会被调用。实际上我有一个 h:datagrid ,其中有 4 列。 name, fileuplload, graphicImage, removeLink。默认情况下 p:graphicImage 有一个默认图像。我想检查 p:graphicImages 是否发生了变化,然后我就知道了。有人建议我使用 oncomplete。
    • 高级模式适用于 PF 3.x 版本。相反的简单模式是传统模式,其行为类似于 2.x 文件上传器。因此,您只需要在较新的 PF 中;-(。但是您有一个服务器端操作方法(上传侦听器),并且您的 p:graphicImage 具有 bean 绑定值属性。您不能在服务器端检查吗?
    • 实际上我想做的是,每当我的 p:graphicImage 发生变化时,我必须检查 p:graphicImage 是否包含默认图像或任何其他图像。如果它有默认图像,那么我必须隐藏删除链接,否则它会显示。在这里,您可以使用我发布的代码找到我想要的内容[链接]stackoverflow.com/questions/10125231/…。我在这里使用服务器端代码。无论是客户端还是服务器端,我只希望当我的 p:graphicImage 发生变化时,我可以采取适当的措施。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 2020-06-10
    相关资源
    最近更新 更多