【问题标题】:oncomplete does not hide <p:dialog dynamic="true">oncomplete 不隐藏 <p:dialog dynamic="true">
【发布时间】:2016-07-03 14:05:46
【问题描述】:

我有一个&lt;p:dialog dynamic="true"&gt;,它显示在&lt;p:commandButton&gt; 的开头。

<h:form id="form">
    <p:commandButton value="#{bundleComunes.guardar}" actionListener="#{saveBB.save}" onstart="PF('saveDialog').show()" update="@form" oncomplete="PF('saveDialog').hide()" />  
    <p:dialog dynamic="true" widgetVar="saveDialog">  
        Guardando<br></br> 
        <p:graphicImage value="/img/ajaxloadingbar.gif" />
    </p:dialog>
</h:form>

它显示对话框,但从不隐藏完成。但如果我删除dynamic="true",它就可以工作。

【问题讨论】:

    标签: jsf jsf-2 primefaces dialog


    【解决方案1】:
    <h:form>
        <p:commandButton ... update="@form" />
        <p:dialog dynamic="true">  
            ...
        </p:dialog>
    </h:form>
    

    您正在更新动态对话框所在的表单,导致它损坏,因为它在更新后不再与打开时相同。

    update="@form" 更改为不包含对话框的更具体的内容,或者更好的是,将对话框移到表单之外,最好移到正文的最底部。

    <h:form>
        <p:commandButton ... update="@form" />
    </h:form>
    ...
    <p:dialog dynamic="true">  
        ...
    </p:dialog>
    

    【讨论】:

      【解决方案2】:

      我刚刚在 glassfish 上进行了测试,效果很好。
      我认为您应该查看#{saveBB.save} 并检查它是否引发任何异常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-25
        • 2017-10-03
        相关资源
        最近更新 更多