Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> klasa JS ułatwiająca klonowanie bloków HTML
niebiarz
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 20.05.2009

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


przez długi czas pracowałem przy bardzo obszernych i złożonych formularzach, których wygląd i treść musiały zmieniać się dynamicznie, cała masa zależności, wiele powielanych pól i bloków, na dodatek wersjonowanie formularzy ze względu na ich olbrzymie rozmiary (poprawne wypełnienie mogło zająć nawet kilka godzin - wnioski aplikacyjne i płatnicze z grubej rury). wymaganiem było poprawne działanie we wszystkich kluczowych przeglądarkach. w efekcie stworzyłem kilka użytecznych skryptów, m.in. klasę Cloner do kompleksowego klonowania bloków HTML. Wystarczy zdefiniować wzory, które mają być powielane w kodzie HTML a skrypt zajmuje się resztą - numeruje kolejne klony, pozwala na zagdnieżdżanie klonów w klonach, inkrementuje wartości atrybutów ID i NAME określone we wzorach (tak żeby tablica POST przesylana do serwera posiadała poprawną strukturę wielowymiarowej tablicy asocjacyjnej), automatycznie dodaje linki usuwania klonów wg wskazanych wzorów oraz obserwatory do linków klonowania i usuwania klonów. Programista ma pełną kontrolę nad procesem klonowania dzięki wykorzystaniu kilku callbacków pozwalających na parametryzowanie głównej funkcji klonującej oraz wykonywanie różnych działań przed i po klonowaniu czy usunięciu klonu. Praktycznie każdy parametr da się zmienić, żeby dostosować działanie do własnych potrzeb. Klasę udostępniłem na licencji LGPL, można więc zmieniać jej kod i używać w projektach komercyjnych bez wymogu udostępniania kodu.

Przykład działania: http://niebiarz.eu/free/cloner_1_0.php?nesting_targets_ex
Tutorial (niestety na razie tylko po angielsku): http://niebiarz.eu/free/cloner_1_0.php?basics_functions
Kod z różnymi komentarzami: http://niebiarz.eu/free/cloner_1_0_comments.js
Download: http://cloner.sourceforge.net/
Powód edycji: [erix] przeniosłem
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 22.08.2025 - 02:00