![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Formularz standardowo jest wysyłany przez ajax. Aby zatrzymać standardowe wysłanie się formularza w kodzie obsługi zdarzenia kliknięcia przycisku formularza zawarłem linię:
Kod e.preventDefault(); Chciałbym jednak zaimplementować pewną sytuację wyjątkową, po której formularz zostanie wysłany w tradycyjny sposób. Jak mogę anulować zatrzymanie propagacji zdarzeń przez "preventDefault()" ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
zamiast preventDefault użyj return false umieszczając go w bloku instrukcji warunkowej (swoją drogą, umieszczenie tam preventDefault powinno dać taki sam efekt)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
A zajrzałeś do dokumentacji? http://api.jquery.com/event.preventDefault/ Bo w pierwszym z brzegu komentarzu masz dokładnie taką opisaną.
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
A zajrzałeś do dokumentacji? http://api.jquery.com/event.preventDefault/ Bo w pierwszym z brzegu komentarzu masz dokładnie taką opisaną. Ta funkcja tylko sprawdza czy domyślne wykonywanie zdarzeń jest włączone. Dokładnie to ma wyglądać tak, że najpierw uruchamiany jest dialog i jeśli użytkownik potwierdzi, to wysyłany jest formularz ale w standardowy sposób, więc jeśli to możliwe, to najbardziej by mi odpowiadało najpierw zatrzymać standardową akcję przeglądarki funkcją "e.preventDefault();" a następnie jeśli użytkownik potwierdzi w oknie dialogowym ją anulować. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Jak dla mnie szukaj pod pojęciem "confirm dialog" (ui).
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
No to dialog UI ma możliwość tworzenia wielu przycisków i od razu do nich przypisanych akcji.
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
No to dialog UI ma możliwość tworzenia wielu przycisków i od razu do nich przypisanych akcji. Wiem o tym. Mój problem polega na tym, że jeśli zatrzymam wysłanie się formularza funkcją "prevenDefault", aby strona się nie odświeżyła tylko wyświetliło się okno dialogowe, to nie potrafię wznowić wysłania formularza po wybraniu odpowiedniej opcji. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Chyba patrzymy na coś innego. Pytanie @Thonixx, 2 lata temu. Identyczne jak twoje. Inna sprawa że raczej źle do problemu podchodzisz. Możesz albo dać okno confirm i jeśli odpowiedź true to wtedy dopiero preventDefault(). Możesz odpiąć akcję z submita. I pewnie kilka innych pomysłów.
-------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 17.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj sobie zastąpienie $.bind, $.delegate i $.live metodą $.on Szukaj off()
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 13:30 |