0

我正在使用 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

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

谢谢

4

1 回答 1

2

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

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

于 2012-04-13T06:59:28.017 回答