【问题标题】:p:selectBooleanCheckBox does not work inside a p:dialog [duplicate]p:selectBooleanCheckBox 在 p:dialog 中不起作用 [重复]
【发布时间】:2017-01-02 08:34:35
【问题描述】:

我正在使用带有以下代码的 PrimeFaces 5.3:

   <p:dialog id="dlg1" appendTo="@(body)" header="Confirm Dialog" widgetVar="dlg1" modal="true">  
                       <h:form id="dialogform">
                        <h:outputText id="confirmlabel" value="Are you Sure you want to  #{reportRunnerNamedBean.currentCommand} ?" />  
                        <br/>
                        <center>
                            Check to send only missed emails:<p:selectBooleanCheckbox id="sendOnlyMissedBox" value="#{reportRunnerNamedBean.sendMissedOnly}"></p:selectBooleanCheckbox><br/>   
                            <p:commandButton  id="yesButton"  value="Yes"   action="#{reportRunnerNamedBean.runCurrentCommand()}"  onstart="startWait();PF('waitDialog').show();" oncomplete="PF('waitDialog').hide();stopWait();" onclick="PF('dlg1').hide();" process="@form"/>
                            <p:commandButton  id="noButton"  process="@this" value="No"    onclick="PF('dlg1').hide();"/>

                        </center>

                       </h:form>
                    </p:dialog>

无论如何,sendMissedOnly 的支持 bean 值设置为 false。我已通过附加调试器确认了这一点。我什至尝试将ajax添加到框中,每次它仍然是错误的,无论是否选中。 p:selectBooleanCheckbox 不能在对话框中工作吗?

【问题讨论】:

    标签: jsf primefaces


    【解决方案1】:

    我想通了。这是因为对话框是一种形式。似乎当一个对话框在一个表单中时,并且您在对话框本身中有一个表单,该组件将不会被处理。似乎 JSF/primefaces 不喜欢在表单中定义的多层表单或对话框。如果您遇到类似问题,请确保您的对话框是在任何形式之外定义的。移动对话框可能会导致组件路径发生变化。解决这个问题的最简单方法是使用 primefaces 方便的 p:component 标记,例如 update=":#{p:component('compoment_name')}" > 这将使它无论组件出现在树中的哪个位置都可以找到它.

    【讨论】:

    • 请始终、始终、始终创建minimal reproducible example。这样做,您要么找到问题的原因,要么让其他人更容易帮助
    • 这不是 JSF 问题。这是一个基本的 HTML 问题。我建议先暂停一下 JSF 并学习基本的 HTML。
    • 感谢您的回答。我不需要基本的 html 类。我在多个大型项目中进行编辑,同时担任系统管理员、网络管理员、经理和数据库管理员的角色。我看到了一个问题,发布了一个问题,然后想通了。我的语法有一个错误,这是真的,虽然它可能不是 jsf 问题,但我看到了这个问题并在几分钟后修复了它。我看不到发布不回答问题而是发布被动攻击性 cmets 的 cmets 是如何实现任何目标的。再次感谢您的评论。
    猜你喜欢
    • 2013-05-16
    • 2018-02-21
    • 2013-06-28
    • 2013-09-28
    • 1970-01-01
    • 2014-03-17
    • 2020-12-01
    • 2015-02-21
    • 2017-02-28
    相关资源
    最近更新 更多