我使用RichFaces/Ajax4jsf的我網頁的部分重新呈現的區域,這裏有一個剝離下來的例子:如何在重渲染區域重新執行腳本?
<a4j:commandButton value="..." reRender="infoBlock" action="#{...}"/>
<h:panelGrid id="infoBlock">
<h:outputText value="..."/>
<f:verbatim>
<script type="text/javascript">
console.log('test')
</script>
</f:verbatim>
</h:panelGrid>
我的問題是,該腳本console.log('test')
沒有得到當infoBlock被重新描繪重新執行。
順便說一句,我知道我可以刪除腳本標記並在上例中使用oncomplete="console.log('test')"
。但是,在實際的應用程序中,腳本更復雜,我使用的組件呈現該腳本,因此更改此腳本可能非常棘手。
所以我的問題是:如何在重新渲染區域重新執行腳本?
我再次嘗試,沒有控制檯日誌,甚至警報不起作用。但我使用的是舊版本的Ajax4jsf:1.0.6。也許這就是問題所在?他們是否在新版本/豐富的面孔中改變了這一點? – 2013-03-18 09:33:51
更新到RichFaces 3.3後,它工作得很好! – 2013-03-18 11:00:17