【问题标题】:How can I prevent p:commandButton to refresh p:tabView如何防止 p:commandButton 刷新 p:tabView
【发布时间】:2014-02-14 07:15:51
【问题描述】:

我的xhtml 页面格式如下:

    <h:form>
      <p:dialog widgetVar="presentDiag" modal="true" closable="true" header="Liste" maximizable="false" dynamic="true">

            <p:commandButton value="Submit" id="submit" actionListener="bean.add()"/>
      </p:dialog>
    </h:form>
    <h:form>
       <p:tabView>
            <p:tab title="....">
            </p:tab>
            <p:tab title="....">
            </p:tab>
            <p:tab title="....">
           </p:tab>
           </p:tabView>
       </h:form>

当我点击提交按钮时,选定的选项卡变为第一个选项卡

【问题讨论】:

  • 但是我可以看到提交按钮没有更新任何东西?也许忘了提?

标签: forms jsf jsf-2 primefaces jsf-1.2


【解决方案1】:

如果您想更新表单然后从中排除某些内容,最简单的方法是使用PrimeFaces selectors,如下所示:

<h:form id="form">
  <p:dialog widgetVar="presentDiag" modal="true" closable="true" header="Liste" maximizable="false" dynamic="true">
        <p:commandButton value="Submit" id="submit" actionListener="bean.add()" update="@(form :not(.tab-view))"/>
  </p:dialog>
  <h:panelGroup styleClass="tab-view" >
       <p:tabView>
           <p:tab title="....">
           </p:tab>
           <p:tab title="....">
           </p:tab>
           <p:tab title="....">
           </p:tab>
       </p:tabView>
   </h:panelGroup>
 </h:form>

您始终可以使用widgetVar 属性重新打开所需的选项卡。

<p:tabView widgetVar="myTab"> .... </p:tabView>
 .
 .
 .
 <p:commandButton value="Submit" id="submit" actionListener="bean.add()" update="someId" oncomplete="myTab.select(2);"/>

但最好的办法是一开始就不要关闭它。

【讨论】:

  • 那么你应该更清楚你的意图。在这种情况下,只需提供您的表 ID 并仅更新它。
  • 只要这个someId不在&lt;p:tabView&gt;附近
猜你喜欢
  • 2013-12-25
  • 2020-01-25
  • 2010-10-18
  • 1970-01-01
  • 1970-01-01
  • 2014-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多