【问题标题】:Update a component of parent jsf page更新父jsf页面的组件
【发布时间】:2012-07-29 22:52:08
【问题描述】:

我有一个 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" 更新表单的面板组件

【问题讨论】:

    标签: jsf-2


    【解决方案1】:

    我看到您正在使用 PrimeFaces。

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

    【讨论】:

    • 为什么Ajax的render属性不行?
    • 只是因为不在同一个页面中。
    • 感谢您的回复。 的好主意
    【解决方案2】:

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

    我对重新渲染组件 JavaScript 的问题不太熟悉;在最糟糕的情况下,您可以添加一个刷新组件的命令按钮,通过 CSS 使其不可见,并使 JS 启动其 click 事件 (like in this example)

    【讨论】:

      猜你喜欢
      • 2011-08-19
      • 1970-01-01
      • 2022-08-05
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      • 2012-08-13
      • 1970-01-01
      • 2014-06-02
      相关资源
      最近更新 更多