Przy klonowaniu formularza za pomocą jQuery możemy trafić na problem. Funkcja clone() kopiuje cały formularz, natomiast bez żadnych wartości.
Pisząc wyżej "bez żadnych wartości" mam na myśli puste pola tekstowe, brak zaznaczeń w checkboxach i polach typu radio. Na szczęście można to szybko poprawić za pomocą poniższego kodu.\r\n\r\n## Klonowanie formularza\r\nAby przypisać do zmiennej kod formularza, bądź jakiejkolwiek innej klasy czy identyfikatora:\r\n\r\njs\r\nvar cloned = $("#form").clone();\r\n\r\n\r\n## Poprawienie pól tekstowych\r\nKażdemu inputowi po kolei przypisujemy odpowiednią wartość.\r\n\r\njs\r\n$("input").each(function() {\r\n $(this).attr(value, $(this).val());\r\n});\r\n\r\n\r\n## Poprawienie bloków tekstowych\r\n\r\njs\r\n$("textarea").each(function() {\r\n $(this).text( $(this).val() )\r\n});\r\n\r\n\r\n## Poprawienie zaznaczeń w checkboxach, radio\r\nJeśli pole jest zaznaczone to oznacz je jako "checked", w innym wypadku usuń "checked".\r\n\r\njs\r\n$("input").each(function() {\r\n if ($( this ).is(:checked)) {\r\n $( this ).attr(checked, checked);\r\n } else {\r\n $( this ).removeAttr(checked);\r\n }\r\n});\r\n\r\n\r\nTo wszystko. Dzięki powyższym linijkom kodu byłem w stanie wyświetlić formularz wraz z jego wartościami. Tym sposobem sklonowałem formularz wraz z tym, co zostało do niego wcześniej wprowadzone.
Warto zobaczyć:
Szukasz hostingu?
Jest dużo firm oferujących hosting, ale którą wybrać? Przedstawiamy zestawienie najciekawszych propozycji i ranking hostingów (Wrzesień 2024).