【问题标题】:Primefaces wizard event after onFlowProcess / onnextonFlowProcess / onnext 之后的 Primefaces 向导事件
【发布时间】:2017-06-13 20:27:16
【问题描述】:

我正在使用 primefaces (6.0) 向导,并希望在显示选项卡后调用 javascript 代码。

<p:wizard flowListener="#{bb.onFlowProcess}" onnext="PF('waitDlg').show()"> ... 

我需要的是oncomplete="PF('waitDlg').hide()"

我可以在bb.onFlowProcess 结束时调用它,但是,当出现验证错误时,bb.onFlowProcess 不会被调用,对话框也不会隐藏。

是否有解决方案或解决方法?

【问题讨论】:

    标签: javascript jsf primefaces jsf-2


    【解决方案1】:

    我能够通过执行以下操作来实现它(为了清楚起见,省略了一些代码):

    移除导航栏

    <p:wizard flowListener="#{bb.onFlowProcess}" widgetVar="wizard" onnext="PF('waitDlg').show()" showNavBar="false>
    

    为导航添加了命令按钮

    <p:commandButton styleClass="nextBtn" value="Next" onstart="PF('wizard').next();" oncomplete="hideOnValidationFail(args, 'waitDlg')"/>
    

    保留代码以在onFlowProcess end 处执行 js

     try {
         // code
     } finally {
         executeJavaScript("PF('waitDlg').hide()");
     }
    

    如果想要显示/隐藏导航按钮,我使用一点 jquery 来实现

     <p:tab id="tab1" title="Tab 1">
        <script type="text/javascript">
            $(document).ready(function() {
                $(".backBtn").hide();
                $(".nextBtn").show();
                $(".finishBtn").hide();
            });
        </script>
        // tab code
    </p:tab>
    
    <p:tab id="tab2" title="Tab 2">
        <script type="text/javascript">
            $(document).ready(function() {
                $(".backBtn").show();
                $(".nextBtn").show();
                $(".finishBtn").hide();
            });
        </script>
        // tab code
    </p:tab>
    

    【讨论】:

      猜你喜欢
      • 2016-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-20
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      • 2016-10-01
      相关资源
      最近更新 更多