首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查bootstrap模式是否打开,以便可以使用jquery验证?

如何检查bootstrap模式是否打开,以便可以使用jquery验证?
EN

Stack Overflow用户
提问于 2013-10-22 07:42:01
回答 10查看 198.7K关注 0票数 126

只有当模式打开时,我才需要进行验证,因为如果我打开它,然后关闭它,然后我按下打开该模式的按钮,它将不起作用,因为它正在进行jquery验证,但不会显示,因为该模式已被清除。

所以,如果modal是打开的,那么我想添加一个jquery,这样我就可以验证了,这是可能的吗?

代码语言:javascript
复制
<script>
$(document).ready(function(){

var validator =$('#form1').validate(
 {
  ignore: "",
  rules: {

usu_login: {
  required: true
},
usu_password: {
  required: true
},
usu_email: {
  required: true
},
usu_nombre1: {
  required: true
},
usu_apellido1: {
  required: true
},
usu_fecha_nac: {
  required: true
},
usu_cedula: {
  required: true
},
usu_telefono1: {
  required: true
},
rol_id: {
  required: true
},
dependencia_id: {
  required: true
},
  },

  highlight: function(element) {
$(element).closest('.grupo').addClass('has-error');
        if($(".tab-content").find("div.tab-pane.active:has(div.has-error)").length == 0)
        {
            $(".tab-content").find("div.tab-pane:hidden:has(div.has-error)").each(function(index, tab)
            {
                var id = $(tab).attr("id");
        
                $('a[href="#' + id + '"]').tab('show');
            });
        }
  },
  unhighlight: function(element) {
$(element).closest('.grupo').removeClass('has-error');
  }
 });

}); // end document.ready

</script>
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2014-01-25 04:09:09

要避免@GregPettit提到的竞争条件,可以使用:

代码语言:javascript
复制
($("element").data('bs.modal') || {})._isShown    // Bootstrap 4
($("element").data('bs.modal') || {}).isShown     // Bootstrap <= 3

// or, with the optional chaining operator (?.)
$("element").data('bs.modal')?._isShown    // Bootstrap 4
$("element").data('bs.modal')?.isShown     // Bootstrap <= 3

正如Twitter Bootstrap Modal - IsShown中所讨论的。

当模式尚未打开时,.data('bs.modal')返回undefined,因此返回|| {} -这将使isShown成为(falsy)值undefined。如果你对严格感兴趣,你可以做($("element").data('bs.modal') || {isShown: false}).isShown

票数 209
EN

Stack Overflow用户

发布于 2013-10-22 08:01:07

您可以使用

代码语言:javascript
复制
$('#myModal').hasClass('in');

Bootstrap在模式打开时添加in类,在关闭时将其删除

票数 88
EN

Stack Overflow用户

发布于 2014-10-08 22:09:34

您也可以直接使用jQuery。

代码语言:javascript
复制
$('#myModal').is(':visible');
票数 76
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19506672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档