Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jQuery UI - modal, wysłanie formularza, returl false
Forum PHP.pl > Forum > Po stronie przeglądarki
IceManSpy
Witam

Mam nietypowy problem. Potrzebuję zrobić kilka modalnych okienek + wysłanie formularza. Tak ma to dokładnie wyglądać:
1. Klikam na przycisk wysłania formularza (Zend_Form_Element_Button - nie _Submit)
2. Wyskakuje mi okinko z przyciskami TAK i NIE
2NIE - zamyka modala (tylko nie wiem jak - nie chcę używać dialog, bo chcę używać swojego kodu HTML)
2TAK - sprawdza dalsze warunki i jeśli nie spełnia to wyskakuje inny modal (tylko informacja) i zwraca false zamykając modala TAK/NIE, a jeśli wszystkie warunki przejdą to musi wysłać mi formularz o pewnym ID.

Problem jest taki, że nie robi mi submita i nie wiem jak zamknąć modale. Mam takie coś:
  1. $("#submit").click(function(){
  2. $( "#confirm_offer" ).modal();
  3. $("#add-offer").click(function(){
  4.  
  5. var address = $("#street").val();
  6.  
  7. if(address == "")
  8. {
  9. $('#info').modal();
  10. return false;
  11. }
  12. $("#confirm_offer").modal('close');
  13. $("#add_offer").submit();
  14.  
  15. });
  16.  
  17. $("#cancel-offer").click(function(){
  18. $("#confirm_offer").modal('close');
  19. return false;
  20. });
  21. });


Gdzie:
#submit - przycisk wysyłania formularza (pkt 1)
#confirm_offer - modal TAK/NIE
#add-offer - przycisk TAK z #confirm_offer
#info- jakiś tam modal
#cancel-offer - przycisk NIE z #confirm_offer
Arcioch
Pokaż kod html oraz w jaki sposób generujesz okienka wink.gif Przeważnie zamknięcie okienka ogranicza się do nadania mu parametru display: none ostatecznie usunięcie go z kodu przez $.remove().
IceManSpy
Kod HTML ma mało tutaj do znaczenia, bo to sprawa JS i jQ. Ale mogę ko wrzucić:
Modal TAK/NIE:
  1. <div class="modal" id="confirm_offer" style="display: none">
  2. <div class="modal-header">
  3. <a class="close" data-dismiss="modal">×</a>
  4. <h3>Potwierdzenie dodania!</h3>
  5. </div>
  6. <div class="modal-body">
  7. <p>Czy chcesz zakończyć dodawanie oferty?</p>
  8. </div>
  9. <div class="modal-footer">
  10. <span id="add-offer" class="btn btn-success">TAK</span>
  11. <span id="cancel-offer" class="btn btn-danger">NIE</span>
  12. </div>
  13. </div>

Modal info:
  1. <div class="modal" id="info" style="display: none">
  2. <div class="modal-header">
  3. <a class="close" data-dismiss="modal">×</a>
  4. <h3>Brak!</h3>
  5. </div>
  6. <div class="modal-body">
  7. <p>Proszę spróbować jeszcze raz.</p>
  8. </div>
  9. <div class="modal-footer">
  10. <span class="btn" data-dismiss="modal">Zamknij</span>
  11. </div>
  12. </div>


Remove nie bardzo mi pasuje, bo to nie jest jednorazowe zdarzenie (te okienka pomagają w walidacji). Display:none mógłby być, ale w takim razie po co mi jQ UI?

Co nie zmienia faktu, że nadal nie mogę wysyłać formularza.
Arcioch
Skąd w jQuery UI masz taką funkcję jak modal(). Pobrałem najnowsze jQuery i jQuery UI i wyskakuje mi że nie ma takiej funkcji jak modal(). Testowałem to na dialogu i funkcja close działa poprawnie (Po clicku na nie zamyka okienko). Nie masz tylko napisanego kodu do kliknięcia zamknij w dive o id info. Odnośnie wysyłki formularza musiałbym widzieć więcej kodu albo wrzuć to gdzie live bo takt to ciężko stwierdzić co nie gra. Ps nie potrzebnie chyba wrzucasz wszystko w clicka o id submit. On powinienem wykonywać tylko $( "#confirm_offer" ).modal();. Następny click powinien być już osobno.
IceManSpy
Widocznie mam jeszcze starą wersję jQ UI. Ściagnę nową i zasugeruję się Twoimi informacjami.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.