Mam tabelę wierszy HTML powiązaną z wierszami bazy danych. Chciałbym mieć link „usuń wiersz” dla każdego wiersza, ale chciałbym wcześniej potwierdzić z użytkownikiem.
Czy można to zrobić za pomocą modalnego okna dialogowego Twitter Bootstrap?
Mam tabelę wierszy HTML powiązaną z wierszami bazy danych. Chciałbym mieć link „usuń wiersz” dla każdego wiersza, ale chciałbym wcześniej potwierdzić z użytkownikiem.
Czy można to zrobić za pomocą modalnego okna dialogowego Twitter Bootstrap?
Odpowiedzi:
POBIERZ przepis
Do tego zadania możesz użyć już dostępnych wtyczek i rozszerzeń bootstrap. Możesz też utworzyć własne okienko z potwierdzeniem za pomocą zaledwie 3 linii kodu. Sprawdź to.
Powiedzmy, że mamy te linki (uwaga
data-href
zamiasthref
) lub przyciski, dla których chcemy usunąć potwierdzenie dla:Tutaj
#confirm-delete
wskazuje na modalne okienko div w twoim HTML. Powinien mieć tak skonfigurowany przycisk „OK”:Teraz potrzebujesz tylko tego małego javascript, aby potwierdzić działanie usuwania:
Tak więc w
show.bs.modal
przypadku przycisku usuwania zdarzeniahref
ustawiony jest adres URL z odpowiednim identyfikatorem rekordu.Demo: http://plnkr.co/edit/NePR0BQf3VmKtuMmhVR7?p=preview
Przepis POST
Zdaję sobie sprawę, że w niektórych przypadkach może być konieczne wykonanie żądania POST lub DELETE zamiast GET. To wciąż dość proste, bez zbyt dużej ilości kodu. Spójrz na poniższą wersję demo dzięki temu podejściu:
Pokaż fragment kodu
Demo: http://plnkr.co/edit/V4GUuSueuuxiGr4L9LmG?p=preview
Bootstrap 2.3
Oto oryginalna wersja kodu, który napisałem, kiedy odpowiadałem na to pytanie dotyczące modalu Bootstrap 2.3.
Demo : http://jsfiddle.net/MjmVr/1595/
źródło
http://bootboxjs.com/ - najnowsze działa z Bootstrap 3.0.0
Najprostszy możliwy przykład:
Ze strony:
Oto jego fragment w akcji (kliknij „Uruchom fragment kodu” poniżej):
źródło
źródło
Uświadomiłbym sobie, że to bardzo stare pytanie, ale ponieważ zastanawiałem się dzisiaj nad bardziej wydajną metodą obsługi modów bootstrap. Przeprowadziłem badania i znalazłem coś lepszego niż rozwiązania pokazane powyżej, które można znaleźć pod tym linkiem:
http://www.petefreitag.com/item/809.cfm
Najpierw załaduj jquery
Następnie po prostu zadaj dowolne pytanie / potwierdzenie, aby:
W ten sposób moduł potwierdzania jest o wiele bardziej uniwersalny i dlatego można go łatwo użyć ponownie w innych częściach witryny.
źródło
Dzięki rozwiązaniu @ Jousby'ego udało mi się również uruchomić moje, ale odkryłem, że muszę nieco poprawić znaczniki modalne Bootstrap jego rozwiązania, aby renderowanie było prawidłowe, jak pokazano w oficjalnych przykładach .
Oto moja zmodyfikowana wersja
confirm
funkcji ogólnej, która działała dobrze:źródło
btnType = "btn-primary"
a następnie zmiana kodu, który ma zawierać przycisk OKclass="btn ' + btnType + '"
. W ten sposób można przekazać opcjonalny argument, aby zmienić wygląd przycisku OK, tak jakbtn-danger
w przypadku usuwania.Znalazłem to przydatne i łatwe w użyciu, a ponadto wygląda ładnie: http://maxailloud.github.io/confirm-bootstrap/ .
Aby z niego skorzystać, dołącz na stronie plik .js, a następnie uruchom:
Istnieją różne opcje, które możesz zastosować, aby poprawić wygląd podczas wykonywania operacji usuwania, używam:
źródło
Mogę z łatwością obsłużyć tego typu zadania za pomocą biblioteki bootbox.js. Najpierw musisz dołączyć plik JS bootboxa. Następnie w funkcji modułu obsługi zdarzeń po prostu napisz następujący kod:
Oficjalna strona bootboxjs
źródło
Poniższe rozwiązanie jest lepsze niż bootbox.js , ponieważ
digimango.messagebox.js :
Aby użyć digimango.messagebox.js :
źródło
Możesz wypróbować więcej mojego wielokrotnego użytku z funkcją oddzwaniania . W tej funkcji możesz użyć żądania POST lub logiki. Użyte biblioteki: JQuery 3> i Bootstrap 3> .
https://jsfiddle.net/axnikitenko/gazbyv8v/
Kod HTML do testu:
JavaScript:
źródło
Jeśli chodzi o odpowiednio duży projekt, możemy potrzebować czegoś do ponownego użycia . To jest coś, z czym przyszedłem przy pomocy SO.
confirmDelete.jsp
reusingPage.jsp
Uwaga: Ta metoda używa metody usuwania HTTP dla żądania usunięcia, możesz zmienić ją z javascript lub, możesz wysłać ją za pomocą atrybutu danych jak w tytule danych lub danych-adresie URL, w celu obsługi dowolnego żądania.
źródło
Jeśli chcesz to zrobić za pomocą najprostszego skrótu, możesz to zrobić za pomocą tej wtyczki .
Ale ta wtyczka jest alternatywną implementacją używającą Bootstrap Modal . I prawdziwa implementacja Bootstrap jest również bardzo łatwa, więc nie lubię używać tej wtyczki, ponieważ dodaje ona nadmiar zawartości JS na stronie, co spowolni czas ładowania strony.
Pomysł
W ten sposób lubię go wdrażać
Następnie w wyskakującym okienku będą 2 przyciski do potwierdzenia.
Kod będzie taki (przy użyciu Bootstrap ) -
Powinieneś zmienić akcję formularza zgodnie ze swoimi wymaganiami.
Wesołego chodzenia :)
źródło
Przepis POST z nawigacją do strony docelowej i plikiem Blade wielokrotnego użytku
Odpowiedź dfsq jest bardzo ładna. Zmodyfikowałem go trochę, aby dopasować do moich potrzeb: tak naprawdę potrzebowałem modalu na skrzynkę, który po kliknięciu przekierowałby użytkownika do odpowiedniej strony. Asynchroniczne wykonanie zapytania nie zawsze jest potrzebne.
Za pomocą
Blade
utworzyłem plikresources/views/includes/confirmation_modal.blade.php
:Teraz korzystanie z niego jest proste:
Niewiele się tu zmieniło, a modal można włączyć w ten sposób:
Po prostu umieszczając tam czasownik, używa go. W ten sposób wykorzystywany jest również CSRF.
Pomógł mi, może pomaga komuś innemu.
źródło