2012-01-17 74 views
1

我正在使用PrimeFaces的<p:fileUpload>組件。上傳後,我有一個事件「更新」。使用Chrome和Firefox時,會觸發更新事件,但使用Internet Explorer(IE9)則不會。它顯示以下錯誤:IE9中的FileUpload事件更新錯誤:XML5632:只允許一個根元素

XML5632: only one root element is allowed.

這是如何造成的,我該如何解決它?我使用PF 3.0 Final(兩週或三週前下載),Mojarra 2.1.3,GlassFish 3.1。

回答

1

我找到了一個臨時解決方案。

不使用事件update,而是使用<p:remoteCommand>

像這樣:

<h:form enctype="multipart/form-data"> 
    <p:fileUpload auto="true" 
       label="Choisir..." 
       mode="advanced" 
       oncomplete="remoteCommandUpdateDataTable()" 
       fileUploadListener="#{uploadBean.handleFileUpload}"> 
      <f:attribute name="evidence" value="#{evidence}"/> 
    </p:fileUpload> 
    <p:remoteCommand name="remoteCommandUpdateDataTable" update="myDataTable"/> 
</h:form> 

而且它同樣認爲像update但它在Chrome,Firefox和IE的作品!

+0

它將在PrimeFaces 3.1中修復! :-) – Akabane 2012-01-25 09:53:03

0

我可以在Win7 X64上用IE 9.0.8112.16421重現你的問題。我甚至可以在PrimeFaces自己的展示頁面上覆制single uploadmultiple upload,但不能在simple upload上覆制它。每次上傳後,我在IE控制檯中看到以下錯誤,並且<p:growl>未顯示。

XML5632: Only one root element is allowed. 
, line 1 character 37 

此bug已被報告爲issue 3152,這是被關閉的CantReplicate

截止目前,恐怕沒有其他辦法可以重新報告這個錯誤,並且/或者在自己的論壇上碰到discussion topic以獲得關於此問題的一些注意事項。

+0

好的...我會盡力在他們的論壇上有一個解決方案,如果我有一個,我會在這裏發帖。 – Akabane 2012-01-17 15:34:08

+0

我不認爲有另一種解決辦法,而不是讓他們修復代碼並提供PF 3.0的更新版本。 – BalusC 2012-01-17 15:40:35

+0

你可能是對的......但我想做夢;-) – Akabane 2012-01-17 15:48:27