![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 26.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem, ponieważ mam kalkulator, który oblicza wycenę dla produktów. Ogólnie jest tam kilka opcji wyboru oraz kilka obliczeń. Chciałbym zrobić tak, że po lewej stronie mam opcję wyboru towaru i tak dalej wraz z przyciskiem "Oblicz", a po prawej aby po kliknięciu przycisku pojawiał się wynik obliczeń. Zrobiłem to tak, że wyniki obliczeń wraz z funkcjami które to obliczają wpakowałem do jednego diva, nadałem mu w CSSie visibility:hidden i zrobiłem funkcję która odkrywa diva, czyli zmienia jego vissibility na visible. Na przycisku w onlick podpiąłem tę funkcję i jest ok, ale wyniki pojawiają mi się (a raczej migną) na moment i znikają. Macie może jakieś pomysły jak sobie z tym poradzić ? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Trochę ciężko, biorąc pod uwagę, że nie pokazałeś nawet linijki kodu.
Ale zgaduję, że strona w rzeczywistości się przeładowuje, dlatego wygląda to jakby wyniki tylko mignęły. Spróbuj zwrócić FALSE w funkcji, którą pokazujesz owego diva, a jak to nie pomoże, to pokaż jakiś kod, to wtedy będzie wiadomo z czym mamy do czynienia. -------------------- Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 26.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ok, więc skrypt zmieniający widoczność diva wygląda następująco:
Natomiast podpięcie pod przycisk wysyłania następująco:
Div "box" to są wyniki obliczeń. Ten post edytował two 29.03.2014, 23:47:00 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Input typu "submit" domyślnie wysyła formularz, więc tak jak napisałem w pierwszym poście, strona się przeładowuje i dlatego widzisz tylko to "mignięcie". Czy próbowałeś dodać: return false; w funkcji showContent() ?
-------------------- Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 26.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie teraz próbowałem i nic :/. Masz rację z tym przeładowywaniem, ponieważ jak dam tę samą funkcję na przykład na jakiejś grafice to działa bez problemu. Chciałbym tylko to jakoś podpiąć pod ten przycisk.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W onclick daj tak:
no i w showContent() oczywiście na końcu: return false; -------------------- Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 26.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ok, teraz wyświetla diva z wynikami, ale nie oblicza wyników. Masz może na to jakiś sposób? Potrzebujesz może fragment kodu?
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
Cały twój problem polega na tym że JS tylko ukrywa/odkrywa DIV, a obliczeń zapewne dokonuje PHP, które musi przeładować stronę.
Zamiast tego JS mógłbyś przekazywać sobie parametr podczas wysyłania tego formularza(musisz go wysłać żeby policzyć), że chcesz widzieć obliczenia i że DIV ma tym razem być odkryty. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 26.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ok, a jak to mniej więcej można zrobić? Mógłbyś podać jakiś kod?
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
Tu trzeba wymyślić coś sensownego
![]() Możesz dopisać parametr name do przycisku obliczania i podczas przetwarzania formularza sprawdzać czy właśnie ten przycisk został wciśnięty i dokonywać obliczeń.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 26.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ok, co prawda uzyskałem to co chciałem, ale w nieco inny sposób. Otóż jak chciałem podpiąć wywoływanie funkcji showContent pod ten isset($_POST["btnSubmit"]) to wywalało mi błąd. Zrobiłem to w prostszy sposób, ale troszkę bardziej łopatologiczny
![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 172 Pomógł: 7 Dołączył: 23.12.2005 Skąd: Wejherowo Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie tak miałeś zrobić. JavaScript nie jest tu potrzebny
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 15:48 |