我正在使用RichFaces的Web應用程序開發工作。目前使用4.3.7版本。Internet Explorer Ajax錯誤與Mojarra 2.1.28和RichFaces 4.3
當我從Mojarra 2.1.27升級到2.1.28時,使用Internet Explorer 8引入了一個奇怪的行爲。我的一些ajax按鈕停止工作。我做了一步一步的分析,在模板中的不同位置移動一個簡單的ajax按鈕。最後我意識到問題取決於按鈕的位置。它工作的表單之外。在第一種形式裏面工作。但在第二種形式裏面沒有。當然,這些表格並未包含在其他表格中。
總結在一個非常簡單的XHTML像這樣存在問題的情況:
<a4j:log />
<h:form>
<a4j:commandButton value="Hello" oncomplete="alert('Hello')" />
</h:form>
<h:form>
<a4j:commandButton value="Hello" oncomplete="alert('Hello')" />
</h:form>
的第一個按鈕按預期工作,但第二個無可奈何以下警告出現在阿賈克斯日誌面板(和按鈕什麼也沒有):
richfaces.queue ajax submit error 'name' is null or object not defined
如果我已經移動了窗體外的ajax按鈕也工作。我曾嘗試過使用Chrome瀏覽器,並且按預期工作。
當我改回到jsf-api-2.1.27和jsf-impl-2.1.27時,一切都很完美。但是RichFaces更新日誌表示他們改爲jsf 2.1.28,所以我必須爲這個bug探索解決方案,因爲我想一起使用RF 4.3.7和jsf 2.1.28。