我使用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