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

问题描述 投票:1回答:1

好吧,我在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',我想避免接近但没有任何反应。我该怎么做?

javascript jquery twitter-bootstrap jsf jsf-2
1个回答
0
投票

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

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

例:

function nameFunction(data) {
   var status = data.status;
   switch (status) {
      case 'success':
         if (!xxx) {
            $('#idModal').modal('hide');
         }
         break;
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.