平变化= “#。{富:组分( 'DS')} switchToPage(THIS.VALUE)” >在richfaces

时间:2011-10-26 12:34:27

标签: javascript jsf

我想在switchToPage完成后添加一个事件处理程序。 我试过了

onchange="#{rich:component('ds')}.switchToPage(this.value);formatAllRec();">

但问题是,formatAllRec将在switchToPage实际完成之前执行。 如何添加事件处理程序并确保它将在switchToPage完成后执行?

1 个答案:

答案 0 :(得分:1)

  

但问题是,formatAllRec将在switchToPage实际完成之前执行

事实并非如此。它们按顺序执行。这些症状表明switchToPage()反过来触发异步HTTP请求来完成某项工作,并在发送请求后立即返回,而不是等待它完成。

根据您发送异步请求的方式,基本上有两种方法可以解决它:

  1. 使其非异步。 jQuery $.ajax及其所有子功能(例如$.post)都有async: false选项。
  2. 调用formatAllRec()作为该异步请求的回调。例如,jQuery $.post可以将回调函数作为第二/第三方法参数。
  3. 由于您没有发布任何JS代码,因此无法给出代码示例的更详细答案。这个问题至少与Java / JSP / JSF / RichFaces无关,而只与普通JS有关。