【问题标题】:<a4j:ajax oncomplete> is not triggered while <a4j:support oncomplete> did<a4j:ajax oncomplete> 未触发,而 <a4j:support oncomplete> 触发
【发布时间】:2013-11-29 14:37:51
【问题描述】:

我正在尝试使用 a4j:ajax 方法触发 javascript 函数。我们正在从版本 3 迁移到版本 4,并且一直在升级 spring 和 JSF。以前,这很好用:

<a4j:support event="change" oncomplete="callJavascriptMethod()">

对于第 4 版 RichFaces,我正在尝试做同样的事情,每次更改下拉列表时调用一个 javascript 函数,但我已更改为使用:

<a4j:ajax event="change" oncomplete="callJavascriptMethod()">

我也尝试过类似的方法来查看是否触发了事件:

<h:commandButton id="test" value="Test me!">
    <a4j:ajax event="click" oncomplete="console.log('something');" />
</h:commandButton>

到目前为止没有运气。有任何想法吗?

【问题讨论】:

  • 不确定 RichFaces 在这里做什么,但为什么不直接使用 &lt;a4j:commandButton&gt; 而不是 &lt;h:commandButton&gt;&lt;a4j:ajax&gt;
  • commandButton 示例只是为了检查 oncomplete 是否可以在那里工作。我实际上并没有在我的代码中使用它。 a4j:ajax 部分位于自定义代码表选择器内。这是为了在一个更简单的例子中验证我是否有同样的问题。
  • 好的。你检查浏览器的 JS 控制台和 HTTP 流量监视器是否有线索?您很可能忘记将 &lt;head&gt; 迁移到 &lt;h:head&gt;,因此 RichFaces 无法自动包含必要的 JS 库。
  • 不幸的是它仍在使用 ,我在 js 控制台或网络选项卡中找不到太多信息。我还使用 a4j:commandButton 进行了测试,如果我尝试从 onclick 方法触发 javascript 函数,它工作正常。只有 oncomplete 是行不通的。
  • @EspenS。 - 您是否在多个浏览器中验证过这种行为?

标签: ajax jsf-2 richfaces


【解决方案1】:

上面的 commandButton 示例正在我们的迁移中工作。我们在 4.3.2 中遇到了很多关于 a4j:ajax 的问题,但升级到 4.3.4 似乎可以解决大部分问题,所以如果这是一个选项并且尚未完成,我建议您获取 RichFaces 4 的最新版本.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    相关资源
    最近更新 更多