只有当模式打开时,我才需要进行验证,因为如果我打开它,然后关闭它,然后我按下打开该模式的按钮,它将不起作用,因为它正在进行jquery验证,但不会显示,因为该模式已被清除。
所以,如果modal是打开的,那么我想添加一个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>
发布于 2014-01-25 04:09:09
要避免@GregPettit提到的竞争条件,可以使用:
($("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
发布于 2013-10-22 08:01:07
您可以使用
$('#myModal').hasClass('in');
Bootstrap在模式打开时添加in
类,在关闭时将其删除
发布于 2014-10-08 22:09:34
您也可以直接使用jQuery。
$('#myModal').is(':visible');
https://stackoverflow.com/questions/19506672
复制相似问题