J'utilise le plug-in Bootstrap Modal Window, mais je voudrais ouvrir une autre fenêtre lorsque je clique sur Suivant et ferme la première. Comment puis-je le faire?
$('[data-toggle="modal"]').click(function(e)
{
e.preventDefault();
var url = $(this).attr('href');
if (url.indexOf('#') == 0)
{
$(url).modal('open');
}
else
{
$.get(url, function(data)
{
$(data).modal();
}).success(function() { $('input:text:visible:first').focus(); });
}
});
<a href="next.html" data-toggle="modal">Add Record</a>
next.html Code de fichier
<div class="modal fade" id="compose-modal" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">First Window</h4>
</div>
<form action="#" method="post">
<div class="modal-footer clearfix">
<button type="button" data-dismiss="modal">Discard</button>
<button type="submit">Submit</button>
<a href="next2.html" data-toggle="modal" >Next</a>
</div>
</form>
</div>
</div>
</div>
Une réponse plus récente se trouve ci-dessous: https://stackoverflow.com/a/44391959/1004312
Vous ouvrez un modal à partir d'un autre modal et fermez le premier. Si vous utilisez Bootstrap 3, vous pouvez effectuer les opérations suivantes:
DEMO: http://jsbin.com/venek/1/edit
Dans le premier modal, indiquez le lien vers le prochain modal (# modal-1 et # modal-2 sont des exemples d'identifiants)
<a href="#modal-2" data-toggle="modal" data-dismiss="modal">Next</a>
Dans le second modal, mettez le lien vers le premier:
<a href="#modal-1" data-toggle="modal" data-dismiss="modal">Previous</a>
Cette méthode annule les problèmes de bourrage et de défilement présents dans d’autres méthodes (voir ci-dessous) et constitue le moyen le plus propre d’obtenir les fonctionnalités requises à l’aide de Bootstrap Modals.
En ligne
<a onclick="$('.modal-to-close').one('hidden.bs.modal', function() { $('.modal-to-open').modal('show'); }).modal('hide');">Open Modal</a>
Pleine graisse:
<script>
$(function () {
$('.selector').click(function() {
$('.modal-to-close').one('hidden.bs.modal', function() {
$('.modal-to-open').modal('show');
}).modal('hide');
});
});
</script>
<a class="selector">Open Modal</a>
Beastmode:
<script>
$(function () {
$('[data-bm-close][data-bm-open]').on('click', function () {
var $this = $(this);
$($this.data('bm-close')).one('hidden.bs.modal', function () {
$($this.data('bm-open')).modal('show');
}).modal('hide');
});
});
</script>
<a data-bm-close=".modal-to-close" data-bm-open=".modal-to-open">Open Modal</a>
Astuce: Sauf si vous devez le faire plusieurs fois, je vous recommande d'utiliser la version Inline.
Problèmes présents dans d'autres réponses
<a data-toggle="modal" data-target="#open1" data-dismiss="modal">OPEN 1</a>
<a data-toggle="modal" data-target="#open2" data-dismiss="modal">OPEN 2</a>
$('.modal).on('show.bs.modal',function(){
setTimeout(function(){
$('body').addClass('modal-open');
},800);
});
@Deepak Yadav Problème: data-rejet = "modal" supprime la classe modal-open de la balise body Peut-être qu'il existe une solution avec JS
Ajouter la classe aux liens suivant-précédent
<a class="NeXTSTEP" href="#modal-2" data-toggle="modal" data-dismiss="modal">Next</a>
<a class="previousStep" href="#modal-1" data-toggle="modal" data-dismiss="modal">previous</a>
JS:
var $body = $('body')
$("a.NeXTSTEP").click(function(){
$body.addClass('modal1-on')
});
$("a.previousStep").click(function(){
$body.addClass('modal2-on')
});
$('#modal-1').on('hidden.bs.modal', function () {
$body.removeClass('modal2-on')
});
$('#modal-2').on('hidden.bs.modal', function () {
$body.removeClass('modal1-on')
});
Puis css:
body.modal1-on, body.modal2-on {overflow: hidden;}
quand vous fermez bootstrap deuxième popup, seulement deuxième fermer et le premier est ouvert
pour cela, nous pouvons utiliser le deuxième bouton de fermeture contextuel sur le premier identifiant modal de bootstrap
exemple
<button type="button" class="btn btn-default" data-toggle="modal" data-target="#myModal1" data-dismiss="modal">Close</button>