避免关闭模态对话框bootstrap和jsf

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了避免关闭模态对话框bootstrap和jsf相关的知识,希望对你有一定的参考价值。

好吧,我在bootstrap中有一个与<h:commandButton>一起使用的模态对话框。我试图避免在验证失败但没有工作时关闭对话框。

这是我调用模态的按钮:

<h:commandButton styleClass="btn btn-default"
                 type="button"
                 value="Criar Página"
                 actionListener="#{cursoMB.novaPaginaConteudo()}">

    <f:passThroughAttribute name="data-toggle" value="modal" />

    <f:passThroughAttribute name="data-target"
                            value="#modalDialogPagina" />

    <f:ajax execute="@this"
            render="modalPagina"
            onevent="function(data) {if(data.status==='success') initSummerNote(); }"/>
</h:commandButton>

这是模态上的按钮:

<h:commandButton styleClass="btn btn-default"
                 actionListener="#{cursoMB.salvarPagina()}" 
                 value="Salvar">

    <f:ajax execute="modalPagina"
            render="tabPaginas"
            onevent="function(data){if(data.status!='success') data.preventDefault();}"/>

    <f:passThroughAttribute name="data-dismiss" value="modal" />
</h:commandButton>

如果data.status != 'sucess',我想避免接近但没有任何反应。我该怎么做?

答案

在bean中创建一个控制变量(如boolean xxx),并在出现错误时将此变量设置为true。

在AJAX函数中测试这个变量。如果为false(!xxx)隐藏模态。

例:

function nameFunction(data) {
   var status = data.status;
   switch (status) {
      case 'success':
         if (!xxx) {
            $('#idModal').modal('hide');
         }
         break;
   }
}

以上是关于避免关闭模态对话框bootstrap和jsf的主要内容,如果未能解决你的问题,请参考以下文章

使用css或js关闭时如何向右滑动bootstrap 4模态对话框

Bootstrap模态对话框怎么隐藏?

bootstrap 模态框 每天自动弹出一次怎么实现

Bootstrap 4 - 避免屏幕点击的模式关闭

Bootstrap 模态对话框选项卡在后面的页面中

AngularJS bootstrap.ui 模态未显示