Używam modalnej funkcjonalności okna Bootstrap na Twitterze. Kiedy ktoś kliknie przycisk Prześlij w moim formularzu, chcę wyświetlić okno modalne po kliknięciu przycisku „Prześlij” w formularzu.
<form id="myform" class="form-wizard">
<h2 class="form-wizard-heading">BootStap Wizard Form</h2>
<input type="text" value=""/>
<input type="submit"/>
</form>
<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
jQuery:
$('#myform').on('submit', function(ev) {
$('#my-modal').modal({
show: 'false'
});
var data = $(this).serializeObject();
json_data = JSON.stringify(data);
$("#results").text(json_data);
$(".modal-body").text(json_data);
// $("#results").text(data);
ev.preventDefault();
});
javascript
jquery
twitter-bootstrap
użytkownik244394
źródło
źródło
Odpowiedzi:
Bootstrap ma kilka funkcji, które można wywoływać ręcznie w modach:
Możesz zobaczyć więcej tutaj: składnik modalny Bootstrap
W szczególności sekcja metod .
Musisz więc zmienić:
do:
Jeśli chcesz zrobić własne niestandardowe okienko, oto sugerowane wideo od innego członka społeczności:
https://www.youtube.com/watch?v=zK4nXa84Km4
źródło
.modal('show')
ale w przeglądarce Google Chrome nie działaPonadto można użyć atrybutu danych
W tym konkretnym przypadku nie musisz pisać javascript.
Możesz zobaczyć więcej tutaj: http://getbootstrap.com/2.3.2/javascript.html#modals
źródło
Najczęściej, gdy
$('#myModal').modal('show');
nie działa, jest to spowodowane dwukrotnym dołączeniem jQuery. Dwukrotne włączenie jQuery powoduje, że modale nie działają.Usuń jeden z linków, aby znów działał.
Ponadto niektóre wtyczki również powodują błędy, w tym przypadku dodaj
źródło
Wystarczy wywołać metodę modalną (bez przekazywania jakichkolwiek parametrów) za pomocą
jQuery
selektora.Oto przykład:
źródło
Jeśli użyjesz funkcji onclick links, aby wywołać modal przez jQuery, „href” nie może mieć wartości null.
Na przykład:
Modal nie może się pokazać. Właściwy kod to:
źródło
Oto jak załadować alert ładowania początkowego, gdy tylko dokument będzie gotowy. To bardzo proste, wystarczy dodać
Zrobiłem demo na W3Schools.
źródło
Sprawdź kompletne rozwiązanie tutaj:
http://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_ref_js_modal_show&stacked=h
Pamiętaj, aby umieścić biblioteki w wymaganej kolejności, aby uzyskać wynik:
1- Pierwszy bootstrap.min.css 2- jquery.min.js 3- bootstrap.min.js
(Innymi słowy, jquery.min.js musi zostać wywołany przed bootstrap.min.js)
źródło
Wypróbowałem kilka metod, które zawiodły, ale poniższe działały dla mnie jak urok:
źródło
.appendTo("modal-body")
?Spróbuj użyć jQuery zamiast znaku $ podczas wywoływania funkcji, to zadziałało w moim przypadku, jak widać poniżej.
jQuery.noConflict (); ponieważ kiedy jQuery ('# myModal'). modal ('show'); nie działa, jest to spowodowane dwukrotnym dołączeniem jQuery. Dwukrotne włączenie jQuery powoduje, że modale nie działają. i rozwiązałoby to problem w takim przypadku, jak w moim przypadku się powtarza.
Dalej możesz przejść do tego linku
Okno modelu ładowania początkowego nie wyświetla się przez wywołanie przez JQuery
źródło
Próbować
Aby otworzyć lub zamknąć modal za pomocą id myModal.
Jeśli powyższe nie działa, oznacza to, że bootstrap.js został zastąpiony przez inny plik js. Oto rozwiązanie
1: - Przenieś bootstrap.js na dół, aby zastąpił inne pliki js.
2: - Upewnij się, że kolejność jest taka jak poniżej
źródło
Możesz uruchomić modal za pomocą kodu poniżej.
źródło
Spróbuj tego
źródło
źródło
Bootstrap 4.3 - więcej tutaj
Pokaż fragment kodu
źródło