Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML][JavaScript] Wysłanie dwóch formularzy jednocześnie
Thompsoon
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 21.03.2015

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


Witam,

Mam problem z wysłaniem dwóch formularzy, które umieszczone są na jednej stronie.
Strona wyświetla katalog produktów. Jeżeli najpierw wyświetle formularz filtowania, to gdy następnie chcę wynik posortować, to po kliknięciu "sortuj" to co najpierw wyfiltrowałem zeruje się i mam tylko samo sortowanie. I to ładnie działa.
Tylko, że ja chciałbym aby klikając na button "sortuj" wysyłał się też formularz z buttonem "filtruj" i w drugą stronę.
Znalałem kod js który sprawiałby że przy klikaniu na jeden z formularzy wysyłają się oba. Jednak to nie działa.
Zamieszczam kod i szkielet formularzy (dane w formularzach są zupełnie inne).

Oba formularze powodują wykonanie tej samej funkcji wyświetlającej listę produktów, tylko zmieniają się wtedy warunki w komendzie SQL - w przypadku filtorwania w WHERE, a w przypadku sortowania ORDER BY. Czy to właśnie to może powodować błędy?

Pierwszy raz robie coś takiego i nie wiem czy jest to w ogóle dobre podejście. Proszę o wskazówki.

  1. submitForms = function(){
  2. document.forms["catalogFilter"].submit();
  3. document.forms["catalogSort"].submit();
  4. }


  1. <form name='catalogSort' action='index.php?action=showCatalog' method='post'>
  2.  
  3. <select name='sort'>
  4. <option value='Cena'>rosnąco</option>
  5. <option value='Cena'>malejąco</option>
  6. </select>
  7.  
  8. <div>
  9. <input value='Sortuj' type='submit' onclick='submitForms()'/>
  10. </div>
  11. </form>
  12.  
  13. <form name='catalogFilter' action='index.php?action=showCatalog' method='post'>
  14.  
  15. <label><input type='checkbox' name='categories[]' value='1' /> Długopisy</label><br>
  16. <label><input type='checkbox' name='categories[]' value='2' /> Ołówki</label><br>
  17.  
  18. <div>
  19. <input value='Filtruj' type='submit' onclick='submitForms()'/>
  20. </div>
  21. </form>
  22.  
[sql][/sql]
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czemu nie wrzucisz obu rzeczy w jeden formularz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Thompsoon
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 21.03.2015

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


Myślałem nad tym ale to nie będzie najlepsze rozwiązanie.
Wówczas byłby jeden button "filtruj i sortuj".
Pole do filtrowania jest z lewej strony. Do sortowania na górze. Gdziekolwiek bym nie umieścił buttona było by to nieczytelnie.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Formularz moze obejmowac wiekszy obszar strony a nie tylko wybrany kawalek. Pamietaj o tym drobnym szczegole
2) Jesli nadal nie chcesz tego robic na jednym formie, to niestety ale do kazdego z forma musisz przekazac w polach hidden wartosci z drugiego forma. Wowczas wysylajac jeden form wysle sie on z wartoscią poprzedniego.
3) Jesli interesuje cie aktualny wybor z dwoch formularzy, to musisz niestety przy pomocy js przed wyslaniem forma aktualizowac pola ukryte z punktu 2
4) Nie da sie naraz wyslac dwoch formularzy wiec nawet tak nie kombinuj.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Thompsoon
post
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 21.03.2015

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


Ok. Dzięki za wskazówki.

Jeżeli chodzi o pkt 4. Gdzieś w międzyczasie doczytałem, że można to zrobić wysyłając pierwszy formularz AJAXem. To prawda?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




W Twoim przypadku nawet jak się uda, to nic ci to nie da. Porzuc ten chory pomysl i nie zaprzątaj nim sobie głowy smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Thompsoon
post
Post #7





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 21.03.2015

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


Dlatego że oba formularze odwołują się do tego samego skryptu? Czy z innego powodu?

Pytam już tylko teorytycznie. Zgodnie z radą pomysł porzucam smile.gif
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Poniewaz takie rzeczy mogą się wykrzaczyc w dowolnym momemcie. form przeladowuje strone, ajax leci w trakcie dzialania strony. Tak wiec juz tutaj moze wszystko sie nie udac 89 razy.
A juz fakt ze probujesz wyslac forma i ajaxa do tego samego skryptu, gdzie to będą dwa zupelnie rozne żądania, nie ma szans na powodzenie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 21.08.2025 - 18:45