【问题标题】:Ajax-enabled confirm in richfaces?在richfaces 中启用Ajax 确认?
【发布时间】:2011-11-18 12:06:25
【问题描述】:

我需要一些关于richfaces 的帮助。这是我需要在 pseudocode 中做的事情:

//user clicked on a <h:selectBooleanCheckbox/>
if(!checkbox.checked) {
    ajax_call_method0_on_bean
    return
}
else {
    boolean_value = ajax_call_method1_on_bean
    if(boolean_value == true) show_confirm
        if(confirm_result == false) return

    //if(boolean_value == false OR confirm_result == false)
    ajax_call_method0_on_bean
}

基本上我有一个复选框,当单击取消选中时,首先必须验证是否必须显示确认框,然后(如果不需要确认或确认可以)调用最终操作

【问题讨论】:

    标签: jsf richfaces


    【解决方案1】:

    一些要点:

    1 .您可以使用&lt;rich:modalPanel&gt; 来定义确认弹出窗口。在确认弹出窗口中,一个 OK 按钮将调用 beans 的 doFinalAction()

    <rich:modalPanel id="confirmPopUp" width="350" height="100">
            <f:facet name="header"> Confirm popup</f:facet>
                <a4j:commandButton value="OK"  action="#{bean.doFinalAction}" />
                <br />
                <a4j:commandButton value="Close"  onclick="#{rich:component('confirmPopUp')}.hide()"/>
    </rich:modalPanel>
    

    2 。您可以使用&lt;a4j:jsFunction&gt; 定义一个javascript 函数,该函数将调用bean 的方法来检查是否需要显示确认框。如果需要确认,此方法的职责是将布尔标志 (bean.requireConfirm) 设置为 true。否则,执行doFinalAction()

    <a4j:jsFunction name="checkRequireConfirm" 
                    action="#{bean.checkRequireConfirm}"
                    oncomplete=" if (#{bean.requireConfirm}) {#{rich:component('confirmPopUp')}.show()}">
    </a4j:jsFunction>
    

    检查oncomplete 属性中的bean.requireConfirm。如果为真,则显示确认弹出窗口。

    3 .在 &lt;h:selectBooleanCheckbox&gt; 中添加一个 onclick 事件处理程序,如果未选中复选框,它将调用 (2) 中定义的 JS checkRequireConfirm()

    <h:selectBooleanCheckbox  onclick="if (!this.checked){checkRequireConfirm()}"/>
    

    【讨论】:

      猜你喜欢
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 2014-08-20
      • 2011-07-02
      相关资源
      最近更新 更多