![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 21.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
ma problem i chyba samodzielne jego rozwiązanie trochę mnie przerasta (ale walczę dalej). Sprawa wygląda tak: posiadam index.php w którym przy pomocy jQuery zrobiony jest obszar podzielony na zakładki. efekt końcowy wyświetlany jest jako strona i ładny obszar z zakładkami tematycznymi, ale jest to ciągle jedna strona i ta sama strona. Do strony includowane są 3 pliki form1.php, form2.php, form3.php i w efekcie końcowym są wyświetlane w osobnych zakładkach, ale ciągle jest to jedna strona. Jeżeli includuję tylko jeden formularz to nie ma problemu wszystko działa, komunikaty o błędach i powodzeniu są wyświetlane prawidłowo. > jeżeli zmieniam nazwę odpowiednio w kolejnych formach zmiennych submit na submit1 i form1 na form2 to teoretycznie formularz wysyła maila ale nie wyświetla informacji o tym że mail wysłany. Jeżeli zmieniam nazwy wszystkich zmiennych itd odpowiednio dla formularza w którym się znajdują czyli z 1 na 2 lub 3 (submit2, submit3 itd.) oto kod którego użyłam pierwotnie...
nie mam pomysłu jak zmodyfikować go tak aby po użyciu w odpowiednich plikach form1 form2 form3.php i zaincludowaniu do indexu wszystko najnormalniej w świecie zadziałało... Pozdrawiam i proszę o pomoc... (IMG:style_emoticons/default/wstydnis.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 222 Pomógł: 34 Dołączył: 3.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witaj,
zacznij od zamiany miejsca tagu <form> ty masz: a powinno byc to samo ze znacznikem zamykajacym </form> powinien byc za </table> poza tym wydaje mi sie ze dobre rozwiazanie zaproponowales zeby nazywac submit1, submit2, submit3 musisz tylko zmienic potem: na itp Ten post edytował Ghost_78 4.11.2010, 10:47:02 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 21.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
przerobiłam kod na taki:
niestety jeżeli zmienię tylko submity na odpowiednio 1,2,3 faktycznie wysyła maila ale nie wyświetla potwierdzenia (wysyłam z form3 a przychodzi jakby był wysłany z form1). Jeżeli zmienię form i submit na odpowiednio 1,2,3 to wysyła (przykładowo) maila z form 3 dochodzi jakby był wysłany z form1 w dodatku po odświeżeniu strony i przejścu do form3 wyświetla komunikat, że mail został wysłany a zamiast oczekiwanego formularza wyświetla sie info że mail został juz wysłany i tak w koło Macieju......... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 222 Pomógł: 34 Dołączył: 3.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
a czy w odpowiednich plikach includowanych podajesz if (empty($_POST['submit1']) if (empty($_POST['submit2']) if (empty($_POST['submit3'])
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 21.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
kod który podałem to dokładna zawartość pliku form1.php, który jest includowany do index.php. Analogicznie jest z plikami form2 i form3.php
dla form2.php
dla form3.php
i dalej dzieją się te cuda... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 4 Dołączył: 17.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi o to, że wysyłasz form z zakładki 3 a po przeładowaniu strony aktywna jest zakładka 1?
musisz ustawić z poziomu php która zakładka ma być aktywna po przesłaniu forma, wykorzystaj do tego zmienną typu hidden lub nazwę submita. Rozwiązanie lepsze: skoro już masz jquery, to wykorzystaj ajax. Po kliknięciu w submit wysyłaj dane z forma do pliku form1(2)(3).php. a na podstawie zwróconej zawartości decyduj co pokażesz userowi. dodatkowym plusem jest to, że user nie musi przeładować strony. Validację pól forma na poziomie jquery i te pliki z formami wystarczy ze będą ci zwracały 1 dla sukcesu i 0 dla porażki. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 222 Pomógł: 34 Dołączył: 3.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
pozamieniaj jeszcze
na to:
bo to tez bedzie prowdowalo problemy pokaz jeszcze w razie czego Twoj index.php |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 21.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi o to, że wysyłasz form z zakładki 3 a po przeładowaniu strony aktywna jest zakładka 1? miedzy innymi tak (IMG:style_emoticons/default/smile.gif) index w tym przypadku wygląda tak:
musisz ustawić z poziomu php która zakładka ma być aktywna po przesłaniu forma, wykorzystaj do tego zmienną typu hidden lub nazwę submita. nie bardzo rozumiem jakby się miało to odbyć w tym przypadku, ale postaram się uzupełnić swoja wiedzę... Ten post edytował lee2 4.11.2010, 12:25:28 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 4 Dołączył: 17.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
usuń linię 18
w divkach z takimi treściami
zrób coś takiego
gdzie X to numer forma i jeszcze przypadek gdy nie został wysłany form czyli w zakładce domyślnej
edit: warunki odwrotnie zrobiłem, tam gdzie 'active' powinno być 'tab_content' i odwrotnie (IMG:style_emoticons/default/smile.gif) Ten post edytował smagul 4.11.2010, 12:35:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:31 |