5

我们有一个a4j:outputPanel就是ajaxRendered。有没有办法在每次(重新)渲染时调用 javascript 函数?我知道我们可以在每个可能提交的元素中调用oncomplete,但这实际上是不可维护的。

细节:

  • JSF 1.2
  • 富脸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()可以直接放在呈现的标签内。

4

2 回答 2

8

一种解决方案是将 javascript 放在 outputPanel 内的脚本标记中:

<a4j:outputPanel ajaxRendered="true">
    <h:outputText value="Test-aroo" />
    <script type="text/javascript">myJSFunc();</script>
</a4j:outputPanel>
于 2011-10-24T22:48:50.573 回答
0

您需要在触发 Ajax 请求的组件上调用 oncomplete。a4j:outputPanel 没有 oncomplete 属性。

于 2011-10-21T17:50:30.907 回答