je dois faire une validation uniquement si un modal est ouvert, car si je l'ouvre, puis je le ferme, et que j'appuie sur le bouton qui ouvre le modal, cela ne fonctionne pas car il effectue la validation jquery, mais pas s'affiche parce que le modal a été rejeté.
Donc je veux ajouter une jquery si modal est ouvert pour que je valide, est-ce possible?
<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>
jquery
validation
twitter-bootstrap
modal-dialog
Mariana Hernandez
la source
la source
_isShown
pas le casisShown
.Vous pouvez utiliser
Bootstrap ajoute la
in
classe lorsque le modal est ouvert et le supprime lorsqu'il est ferméla source
shown.bs.modal
ouhidden.bs.modal
. De cette façon, lorsque votre code d'événement prend le contrôle, vous êtes certain que la boîte de dialogue n'est pas dans un état délicat.'in'
par'show'
Bootstrap 4.Vous pouvez également utiliser directement jQuery.
la source
Vérifier si un modal est ouvert
$('.modal:visible').length && $('body').hasClass('modal-open')
Pour attacher un écouteur d'événements
la source
Bootstrap 2, 3 Check est n'importe quel modal ouvert dans la page:
version compatible Bootstrap 2, 3, 4+
Seulement Bootstrap 4+
la source
4.1.3
et il ajoute de lashow
classe au lieu dein
.ne fonctionnera pas si le modal n'a pas été affiché auparavant. Vous devrez ajouter une condition supplémentaire:
donc la réponse en tenant compte de la première apparition:
la source
Vous pouvez aussi utiliser
la source
Sur bootstrap-modal.js v2.2.0:
la source
Pourquoi compliquer les choses quand cela peut être fait avec un jQuery simple comme suit.
la source