【问题标题】:How to call a Javascript function on render in JSF 1.2/Richfaces 3.3?如何在 JSF 1.2/Richfaces 3.3 的渲染中调用 Javascript 函数?
【发布时间】:2011-12-12 17:16:34
【问题描述】:

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

详情:

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

【问题讨论】:

    标签: jsf richfaces jsf-1.2


    【解决方案1】:

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

    【讨论】:

    • 对,我知道 outputPanel 没有 oncomplete 属性。有太多的组件要在所有组件上管理 oncomplete。我希望在全球范围内收听该事件。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      • 2015-06-07
      • 2014-12-16
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多