Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Formularz w formularzu
Suhar87
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.03.2014

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


Witam!

Mam pewien problem i nie wiem jaka jest jego ranga więc zaczynam od przedszkola smile.gif Otóż zajmuje się już gotowymi stronami a z PHP nie miałem wcześniej do czynienia więc uczę się metodą prób i błędów co zazwyczaj się udaje ale niestety nie tym razem :/

Strona nad którą obecnie pracuję to formularz rejestracyjny. Jak wszystkie formularze posiada wiele pól z obsługą błędów (wymagane pola, wymagana ilość znaków itp.). Jest w nim jedna sekcja w której użytkownik zaznacza pola checkbox a każde z nich ostatecznie oznacza jakąś kwotę do zapłaty.

Dopiero po wypełnieniu POPRAWNIE formularza po naciśnięciu na przycisk rejestruj (submit) funkcja sprawdza błędy i jeśli wszystko jest ok zlicza ostateczną cenę i od razu przekierowuje do płatności. Wszystko gra tylko mój szef zażyczył sobie żeby obok przycisku REJESTRUJ był jeszcze jeden OBLICZ CENĘ... No i tu zaczyna się mój problem... Jak zrobić funkcję dodatkową która po naciśnięciu na button w odpowiednim miejscu zliczy aktualne zaznaczone pola checkbox ale nie sprawdzi reszty pól.

Co zrobiłem:
Skopiowałem funkcją rejestruj() jako funkcję oblicz() usuwając z niej wszystkie funkcje sprawdzanie błędów i inne zostawiając tylko linijki $kwota += .....;
Niestety po dodaniu przycisku submit odwołującego się do funkcji oblicz() i tak po kliknięciu formularz zachowuje się jakbym uruchomił funkcję rejestru().

Jak udało mi się (pewnie niepoprawnie) na dziko dodać formularz w formularzu który zlicza mi pięknie cenę nie przejmując się resztą formularza ale... wtedy przycisk odwołujący się do funkcji rejestruj() nie widzi pól checkbox z cenami....

Moje pytanie jaka jest zasada kiedy chce dodać dwa różne przyciski korzystające z części tych samych zmiennych żeby jeden nie wpływał na drugi?

Czekam na podpowiedzi lub prośby jakie linie kodu wkleić bo jest tego sporo dlatego nie chcę wszystkiego od razu wklejać, może ktoś da mi rozwiązanie, tutorial który mógłby mnie naprowadzić bo google nie dało mi takiej odpowiedzi.

Z góry dziękuję
Go to the top of the page
+Quote Post
amii
post
Post #2





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Jak na moje to dopisz poprostu funkcję obliczającą cenę jako procedurę kliknięcia dla przycisku czy czegokolwiek...

Cytat
Niestety po dodaniu przycisku submit odwołującego się do funkcji oblicz() i tak po kliknięciu formularz zachowuje się jakbym uruchomił funkcję rejestru().


Bez kodu ciężko stwierdzić ale jeśli jako type dałeś submit to kliknięcie tego przycisiku powoduje uruchomienie wysłania formularza.

Ten post edytował amii 15.03.2014, 12:50:37


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
Damonsson
post
Post #3





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


zamiast dla obliczania <input type="submit"... />
daj przykładowo <button></button>

i w JS wyłapuj $('button').click(function...
Go to the top of the page
+Quote Post
Suhar87
post
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.03.2014

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


Cytat(amii @ 15.03.2014, 12:50:15 ) *
Jak na moje to dopisz poprostu funkcję obliczającą cenę jako procedurę kliknięcia dla przycisku czy czegokolwiek...

To wydaje się być jakiś rozwiązaniem tylko nic w google nie mogę znaleźć na temat procedur. Jaka jest ich budowa? Może być jakiś krótki przykład albo ramowa, prosta konstrukcja, powinienem już załapać i dostosować do siebie.
Cytat(Damonsson @ 15.03.2014, 12:54:27 ) *
i w JS wyłapuj $('button').click(function...

Niestety nie używamy na naszych stronach JS :/
Go to the top of the page
+Quote Post
Damonsson
post
Post #5





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


  1. <input type="submit" name="rejestruj" />
  2. <input type="submit" name="oblicz" />

  1. if (isset($_POST["rejestruj"])){
  2. // jak kliknął rejestruj
  3. } else if (isset($_POST["oblicz"])){
  4. // jak kliknął oblicz
  5. }
Go to the top of the page
+Quote Post
Suhar87
post
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 15.03.2014

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


Dzięki wielkie!!!

Jak najbardziej teraz działa jak należy!!!

Pozdrawiam!
Go to the top of the page
+Quote Post

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: 20.08.2025 - 12:02