0

我有一个主 jsf 页面,它包含一个指向弹出窗口的链接。

我想更新主 jsf 页面的一个组件。当我关闭弹出窗口时。

popup.xhtml:

 <h:commandButton value="close" onclick="return window.close();"   
                  action="showDevoir.xhtml"> 
      <f:ajax execute="@form" render=":devoirForm"  />
 </h:commandButton>

main.xhtml

<form id="devoirForm" >

 <p:panel id="devoir" />

</form>

当我关闭弹出窗口时,我想用 id="devoirForm" 更新表单的面板组件

4

2 回答 2

1

我看到您正在使用 PrimeFaces。

只需使用<p:dialog>而不是window.open(). 另请参阅陈列柜。这会<div>在同一个窗口中创建一个元素,因此您可以从那里立即访问主窗体。

于 2012-07-29T23:27:39.743 回答
0

将更新所述组件的 JavaScript 函数添加到您的主页。从弹出窗口的 onunload 事件中调用它。

我不太熟悉重新渲染组件 JavaScript 的问题;在最糟糕的情况下,您可以添加一个刷新组件的命令按钮,通过 CSS 使其不可见,并使 JS 启动其click事件(就像在这个例子中一样

于 2012-07-29T23:14:38.580 回答