jsf - 对话框不会关闭 primefaces

标签 jsf dialog primefaces

我的其中一个页面上有一个对话框。打开很好。如果您使用页面上的按钮,它会关闭,效果很好。但是,如果您尝试“x”退出对话框,它将不会关闭。我相信这与我在对话框上有一个输入字段有关,但我不确定。如果这是一个骗局,我深表歉意,我找不到类似的帖子。

        <p:commandButton action="#{phoneListBean.debugger}"
            value="Merge Unqiue" onclick="mdlg.show();"
            update=":pmsg, :createNewPanel, :listform" />

        <p:dialog id="mdialog" header="Merge Unqiue" widgetVar="mdlg"
            appendToBody="true">
            <h:form id="mform">
                <h:panelGrid columns="2" cellpadding="5" id="m">
                    <h:outputLabel for="listName" value="Enter the List Name:" />
                    <p:inputText value="#{phoneListBean.mergeList.name}" id="listName" />


                    <p:commandButton action="#{phoneListBean.mergeUnique}"
                        value="Merge Unqiue" update=":pmsg, :listform"
                        onclick="mdlg.hide();" />
                </h:panelGrid>
            </h:form>

        </p:dialog>

预先感谢您的帮助。

最佳答案

您的问题是您不想将 onclick 属性与 Primefaces 按钮一起使用来显示和隐藏对话框。由于这些按钮未启用 Ajax,因此在回发之前可能不会调用 click 事件。

您应该使用 oncomplete 属性。这将通知 Javascript 事件仅在服务器回发发生后执行,这意味着 show() 将显示已更新的对话框内容,而 hide() 仅在发生后发生服务器端执行完成。

关于jsf - 对话框不会关闭 primefaces,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12644108/

相关文章:

css - 更改 p :tabMenu 中的 css 样式

jsf - 渲染 p :selectManyCheckbox with 10 columns

primefaces - 重置 p :tree selected values

重新显示同一页面时 JSF 2 : ViewScoped Problem, bean 未持久化

jsf - session 结束时销毁 View 范围的bean

jsf - 如何在primefaces数据表中显示可变数量的列

java - 如何在 JSF 中填充数据

android - 如何更改 alertDialog 中的单选按钮样式

Android:如何从警报对话框启动 Activity

jquery - 如何将 ASPX 页面加载到 JQuery 对话框中