0
我正在使用PrimeFaces 2.2。我使用p:fileuplaod,當fileUploads然後使用更新我改變我的網頁上的圖像。這裏是。如何在p:fileUpload上使用p:ajax oncomplete事件。使用時出現錯誤
<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屬性。這裏是我的測試()函數,它是不完整的,但在這裏它是
function test(imageId) {
var imgId = imageId;
var image = $("#saarcImagesTable tr").find("img[id='imageId']")
alert("Image change");
}
但是我得到錯誤
家長不ClientBehaviorHolder的一個實例:org.primefaces.component.fileupload .FileUpload @ e39f71
爲什麼我得到這個錯誤?我究竟做錯了什麼?
由於
嗯你發佈的鏈接有一個評論,'fileuploads和ajax是一個不同的故事。如果您想要上傳ajax,請使用高級模式。什麼是高級模式?你能告訴我任何其他方式,通過我可以檢測p:graphicImage中的變化事件嗎?就像每當p:graphicImage改變,然後我的javascript函數就會調用。其實我有一個h:有4列的datagrid。 'name,fileuplload,graphicImage,removeLink'。默認情況下,p:graphicImage有一個默認圖像。我想檢查,如果p:graphicImages改變然後以某種方式我知道。有人給我建議使用oncomplete。 – Basit 2012-04-13 07:57:42
高級模式適用於PF 3.x版本。相反的簡單模式是像2.x文件上傳器一樣行事的傳統模式。因此,所有你需要的是在新的PF ;-(。但是你有一個服務器端的操作方法(上傳監聽器),你的p:graphicImage有一個bean綁定值屬性,你不能在服務器端檢查嗎? – 2012-04-13 08:03:38
其實我想要做的是每當我p:graphicImage改變,然後我必須檢查p:graphicImage是否包含默認圖像或任何其他圖像。如果它有默認圖像,那麼我必須隱藏刪除鏈接,否則它顯示。在這裏,你可以找到我想要的代碼,我張貼[鏈接] http://stackoverflow.com/questions/10125231/how-to-hide-element-in-responce-of-ajax-call#comment12979201_10125231。這裏我正在使用服務器端代碼,無論是客戶端還是服務器端,我只是希望當我的p:graphicImage更改時,我可以採取適當的操作。 – Basit 2012-04-13 09:14:23