Bootstrap 3 - Comment charger le contenu modal corps via AJAX?
Comme vous pouvez le voir ici, j'ai un bouton qui lance un modal. La fixation d'un href url du bouton de cette url est automatiquement chargé en modal par Bootstrap 3.
Le fait est que cette page est chargée en modal de la racine (comme on dit dans le bootstrap 3 documentation pour l'utilisation des modaux). Je veux le charger dans le modal-body.
Est-il un moyen de le faire via les attributs (pas de javascript)? Ou qu'est-ce que la plupart des automatiques façon de le faire?
P. S. je me souviens dans le Bootstrap 2 le contenu a été chargé dans le corps, pas la racine.
Vous devez vous connecter pour publier un commentaire.
Vérifier cette SORTE de réponse out.
Il semble que la seule façon est de fournir à l'ensemble de la structure modale avec votre réponse ajax.
Que vous pouvez vérifier à partir du bootstrap le code source, la fonction de charge est reliée à l'élément racine.
Dans le cas où vous ne pouvez pas modifier l'ajax réponse, une solution simple pourrait être un appel explicite de la
$(..).modal(..)
plugin sur votre corps élément, même s'il sera probablement briser le afficher/masquer les fonctions de l'élément racine.C'est en fait super simple avec juste un peu d'ajout de javascript. Le link href est utilisé comme l'ajax source de contenu. Notez que pour Bootstrap 3.* nous avons mis
data-remote="false"
pour désactiver le obsolète Bootstrap fonction de charge.JavaScript:
Html (basé sur le fonctionnaire exemple):
Essayez-le vous-même: https://jsfiddle.net/ednon5d1/
load
fonction doit être depracated et le dit dans le Bootstrap docs: Cette option est obsolète depuis la v3.3.0 et sera supprimée dans v4. Nous vous recommandons d'utiliser côté client création de modèles ou d'une liaison de données-cadre, ou l'appel de jQuery.charger vous-même. serais ravi de voir une version mise à jour de cetteshow.bs.modal
événement (qui est déclenché après l'original de l'appel ajax).data-remote="false"
et ajouté un JSfiddle. Dans le Bootstrap 4 cela ne devrait plus être nécessaire.$(this).find('.modal-title').text('New title)
. Voir: getbootstrap.com/javascript/#modals-related-targetJe suppose que vous êtes à la recherche pour cette fonction personnalisée. Il prend de données-activer attribut et crée dynamiquement le nécessaire div à la place du contenu à distance. Il suffit de placer le data-toggle="ajaxModal" sur n'importe quel lien que vous souhaitez charger via AJAX.
La JS partie:
Enfin, dans le contenu à distance, vous avez besoin de mettre l'ensemble de la structure de travail.
Dans le cas où vous avez besoin de mettre à jour le même modale avec contenu à partir de différents Ajax /appels d'API voici une solution qui fonctionne.
Bootstrap 3 Demo
Bootstrap 4 Demo
Une façon simple d'utiliser des modaux est avec eModal!
Ex de github:
<script src="//rawgit.com/saribe/eModal/master/dist/eModal.min.js"></script>
utilisation eModal pour afficher un modal pour alerter, ajax, de commandes ou de confirmer
JS:
CSS:
HTML:
créer un vide modal box sur la page en cours et c'est en dessous de l'appel ajax, vous pouvez voir comment récupérer le contenu du résultat à partir d'une autre page html.
une fois que l'appel est terminé, vous obtiendrez le contenu de la page par la suite pour ensuite, vous pouvez insérer le code dans vous modal id de contenu à l'aide.
Vous pouvez contrôleur d'appel et obtenir le contenu de la page et vous pouvez montrer que dans votre modal.
ci-dessous l'exemple de Bootstrap 3 modal que nous sommes chargement de contenu à partir de registration.html page...