【问题标题】:Avoid close modal dialog bootstrap and jsf避免关闭模式对话框引导程序和 jsf
【发布时间】:2015-05-17 22:52:15
【问题描述】:

好吧,我在引导程序中有一个模式对话框,可以与<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',我想避免关闭但没有任何反应。我该怎么做?

【问题讨论】:

  • 你想要的是data.preventDefault()吗?我在想您还想在preventDefault() 上添加其他内容,例如单击按钮。或者在这种情况下什么也不做(或alert('cannot close.');)。您还应该使用 Firebug 或类似工具来检查实时页面,以查看在呈现按钮后隐藏的 JS。
  • 我不确定“data.preventDefault()”是否是避免模式关闭的正确方法。这不起作用,我正在寻找另一种避免模式关闭的方法。
  • 你解决问题了吗??我现在有同样的问题:/

标签: javascript jquery twitter-bootstrap jsf jsf-2


【解决方案1】:

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

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

示例:

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

【讨论】:

    猜你喜欢
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多