2011-10-21 65 views
5

我們有一個a4j:outputPanelajaxRendered。有沒有辦法在每次(重新)呈現時調用javascript函數?我知道我們可以在可能用oncomplete提交的每個元素中發出一個呼叫,但這實際上並不切實可行。如何在JSF 1.2/Richfaces 3.3中對渲染調用Javascript函數?

詳細說明:

  • JSF 1.2
  • RichFaces的3.3

實施例(的onComplete實際上不是可在outputPanel標籤):

<a4j:outputPanel ajaxRendered="true" oncomplete="myJSFunc()"> 
    <h:outputText value="Test-aroo" /> 
</a4j:outputPanel> 
<!-- other inputs, buttons and stuff --> 

更新強權jQuery庫能夠幫助(這是內置於RichFaces)?我正在使用.live()來註冊oncomplete事件。我會不斷嘗試並隨着進展而更新。

更新我沒有得到實現jQuery解決方案的機會,但正如我的回答顯示,myJSFunc()可以直接放在渲染標籤內。

回答

8

一個解決辦法是把JavaScript中的outputPanel裏面的腳本標記:

<a4j:outputPanel ajaxRendered="true"> 
    <h:outputText value="Test-aroo」 /> 
    <script type=」text/javascript」>myJSFunc();</script> 
</a4j:outputPanel> 
0

您需要在觸發Ajax請求的組件上調用oncomplete。 a4j:outputPanel沒有oncomplete屬性。

+0

吧,據我所知,outputPanel不具有的onComplete屬性。有太多的組件需要在所有這些組件上完成管理。我期待在全球範圍內傾聽這一事件。 – Adam