128

モーダルが開いている場合にのみ検証を行う必要があります。モーダルを開いてから閉じて、モーダルを開くボタンを押しても jquery 検証を行っているため機能しませんが、モーダルが閉じられたため表示されます。

モーダルが開いている場合はjqueryを広告したいので、検証を行いますが、これは可能ですか?

<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>
4

12 に答える 12

89

使用できます

$('#myModal').hasClass('in');

Bootstrap はin、モーダルが開いているときにクラスを追加し、閉じているときにクラスを削除します

于 2013-10-22T00:01:07.247 に答える
81

jQuery を直接使用することもできます。

$('#myModal').is(':visible');
于 2014-10-08T14:09:33.793 に答える
14

ブートストラップ 2 、 3チェックは、ページで開いているモーダルです:

if($('.modal.in').length)

対応バージョンBootstrap 2 , 3 , 4+

if($('.modal.in, .modal.show').length)

ブートストラップのみ4+

if($('.modal.show').length)
于 2019-03-04T11:49:39.887 に答える
0

モーダルが開いている(本体内)、または閉じている(結果がfalse)場合のこのコード表示

var trueFalse = ($('body').hasClass('modal-open'));
于 2021-12-14T21:37:25.263 に答える