Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery][ui] Jak zapobiec powielaniu dialog-boxów po przeładowaniu taba?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
tr!ckle
Witam.
Otóż mój problem wygląda następująco:
Mam kilka tabów i w jednym z nich są dialog-boxy (a w nich formularze). Problem polega na tym, że te dialog-boxy są generowane dynamicznie, więc wywalenie ich poza taby odpada. Druga rzecz jest taka, że gdy zakładka (tab) mi się przeładuje, wówczas dialog-boxy się powielają, a co za tym idzie - formularze również. Wiąże się to z tym, że po kilku przeładowaniach taba, wysyła mi się tyleż razy formularz.
Czy da się jakoś zapobiec temu powielaniu? Najlepiej bez rezygnowania z przeładowywania tabów.

Z góry dziękuję za pomoc.
Fifi209
Jakbyś zarzucił kodem, bo bez tego...

Poza tym: Temat: JavaScript jesli Twoj watek go dotyczy KONIECZNIE przeczytaj
tr!ckle
Witam.
Otóż zapoznałem się z podanym tematem i tak jak jest tam wspomniane, nie mogę wrzucić tego projektu w sieci. Ponadto zdawało mi się, że wypowiadać się będą tutaj osoby znające jquery ui, a przynajmniej elementy dialog i tabs. Mam jednak remedium na ten problem, mianowicie podobny temat na forum jquery (niestety bez zadowalającego rozwiązania): http://forum.jquery.com/topic/dialog-div-s...ge-is-refreshed

Mój problem jest identyczny. Dodam tylko, że na tych dialog-boxach mam formularze, które są wysyłane kilkakrotnie niekiedy, a tego chcę uniknąć.

Mam też pewien pomysł jak temu zaradzić. Umieszczę elementy div - dialog-box na zewnątrz tabsów i tym samym zainicjalizuję dialogi na zewnątrz, a przy ładowaniu taba, wrzucę formularz do dialog-boxów przez js. Jak będę miał jakieś rezultaty to napiszę.

Niemniej jak ktoś ma inne pomysły (być może lepsze), to będę wdzięczny za pomoc.

[EDIT]
No niestety jest mnóstwo błędów przy tego typu rozwiązaniu, które zaproponowałem. Między innymi z synchronizacją skryptów, co powoduje na przykład niewypełnienie danymi formularza (pobrane przez ajax) itp. W tym momencie nie opłaca mi się zmieniać całej struktury skryptu bez gwarancji na sukces, dlatego byłbym wdzięczny, jeśli ktoś miał podobny problem i poradził sobie w jakiś sprytny i elegancki sposób, i mógł się nim ze mną podzielić

[EDIT 2]
Znalazłem tymczasowe rozwiązanie, nie wiem czy najlepsze, w każdym razie działa:
Przed przeładowaniem taba dla każdego dialog-boxa wywołuję kolejno metody destroy oraz remove. Przeładowanie taba jest z odpowiednim timeoutem (2-3 sekundy)
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.