Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Wywołanie okna dialog w innej funkcji
mikajlo
post 17.05.2014, 17:11:12
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 13.12.2010

Ostrzeżenie: (0%)
-----


Witam,
w temacie jestem wczesno początkujący.. Zazwyczaj okno dialogowe 'wyskakuje' po wywołaniu jakiegoś zdarzenia, np. click.

Ja potrzebuje wywołać okno jako potwierdzenie.. np. następuje oddanie użytkownika i potem wyświetlenie informacji.. i to okno chciałem wywołać z innej funkcji, ale coś mi nie wychodzi..

Mam powiedzmy taki kod:

[JAVASCRIPT] pobierz, plaintext
  1. function wywolaj_okno_dialog() {
  2. $('#d').dialog({
  3. autoOpen: false,
  4. bgiframe: true,
  5. modal: true,
  6. title: 'tytul',
  7.  
  8. });
  9. $('#d').dialog('open');
  10. }
  11. $('#item_signup').on('click', function() {
  12. if ($('#id_item').val() == 0) {
  13. alert("You have to select a item");
  14. return false;
  15. }
  16.  
  17. var tour = $('#id_item').val();
  18.  
  19. if (typeof item == 'undefined' || item == 0) {
  20. alert("You have to select a item");
  21. return false;
  22. }
  23.  
  24. $.ajax({
  25. type: 'POST',
  26. url: '/subpage/signup_ajax/',
  27. data: {
  28. item: $('#item').find(':selected').text(),
  29. },
  30. success: function(data) {
  31.  
  32. wywolaj_okno_dialog();
  33.  
  34. //alert("Ok.");
  35. },
  36. error: function (request, status, error) {
  37. alert(request.responseText);
  38. }
  39. });
  40. });
[JAVASCRIPT] pobierz, plaintext


To jest jedna z wersji, którą testowałem.. Ogólnie za każdym razem div który miał być wyświetlany w oknie, był wyświelany 'normalnie' na stronie.. Jak widać, zakomentowana jest wersja z funkcją alert, która działa poprawnie z tym ,ze wyswietlana informacja to nie jest alert ;p a informacja.. i do tego chciałbym ją sobie odpowiednio zmodyfikować..

Czekam na jakieś sugestie (najlepiej jakiś prosty, działający 'kodowy' przykład..)
Pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
PrinceOfPersia
post 17.05.2014, 17:33:26
Post #2





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


Cytat
Ogólnie za każdym razem div który miał być wyświetlany w oknie, był wyświelany 'normalnie' na stronie..

a jesteś pewien, że dołączyłeś style CSS do jQuery UI?


--------------------
Go to the top of the page
+Quote Post
mikajlo
post 17.05.2014, 19:35:09
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 13.12.2010

Ostrzeżenie: (0%)
-----


Cytat(PrinceOfPersia @ 17.05.2014, 18:33:26 ) *
a jesteś pewien, że dołączyłeś style CSS do jQuery UI?


Nie wiem dokładnie o co chodzi.. (więc raczej tego nie robiłem..)

Znalazłem taki fragment kodu:

[JAVASCRIPT] pobierz, plaintext
  1. $(window).load(function() {
  2. $('#ui-datepicker-div').addClass('CSS-Scope-Class');
  3. });
[JAVASCRIPT] pobierz, plaintext


rozumiem, że każdy swój element muszę w ten sposób zainicjować aby był on 'obsługiwany' ?
Go to the top of the page
+Quote Post
PrinceOfPersia
post 17.05.2014, 20:24:28
Post #4





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


miałem na mysli to, że jak korzystasz z jQuery UI (a korzystasz, prawda?), to musisz dołączyć jakieś pliki *.CSS z szablonem tych okienek.
przynajmniej tak kiedyś było (nie używam już tego, bo są lepsze metody na tworzenie dialogów)


--------------------
Go to the top of the page
+Quote Post
mikajlo
post 17.05.2014, 21:33:25
Post #5





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 13.12.2010

Ostrzeżenie: (0%)
-----


Cytat(PrinceOfPersia @ 17.05.2014, 21:24:28 ) *
miałem na mysli to, że jak korzystasz z jQuery UI (a korzystasz, prawda?), to musisz dołączyć jakieś pliki *.CSS z szablonem tych okienek.
przynajmniej tak kiedyś było (nie używam już tego, bo są lepsze metody na tworzenie dialogów)


ciężko mi tak konkretnie odpowiedzieć, bo brak mi komptenecji .. po prostu chciałem sobie wdrożyć taką funkcję dialogu..

Ogólnie korzystam z bootstrapa.. tam są już dołączone pliki css i biblioteka jquery..

Go to the top of the page
+Quote Post
PrinceOfPersia
post 17.05.2014, 23:55:51
Post #6





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


no to w bootstrapie możesz przekleić HTML ze strony http://getbootstrap.com/javascript/#modals
i potem wywołać metodą $("#id-elementu").modal();


--------------------
Go to the top of the page
+Quote Post
mikajlo
post 18.05.2014, 09:54:09
Post #7





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 13.12.2010

Ostrzeżenie: (0%)
-----


Dzięki, wydaje się, że to spełni moje wymagania smile.gif

Ale pojawił się inny związany z tym problem o którym nie zdawałem sobie sprawy..

Bo dotychczas wywoływałem okno alert() i ono blokuje niejako wykonanie dalszego kodu.. co było istotne dla mnie bo po zamknięciu tego okna zostaje wykonane przekierowanie..

Teraz mając własne okno dialogowe, te przekierwoanie 'nie czeka' aż sam użytkownik jest zamknie tylko od razu wykonywane jest przekierwoanie..

Jak to moża rozwiązać ?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:00