Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dynamiczny formularz w PHP (problem z listami rozwijanymi-select)
itseepawel
post 9.09.2020, 09:56:53
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.09.2020

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


Witam serdecznie,
mam problem z dynamicznym formularze.
W skrócie mój problem:
https://zapodaj.net/cda7a7a27bf96.png.html
Mam sobie taki formularz.
Selecty działają na zasadzie disabled, czyli jeżeli w 1 select jest opcja numer 1 to w drugim możemy wybrać tylko takie opcje itd. itd.
Problem polega na tym, że po dodaniu kolejnego zamówienia selecty odwołują się tylko do selectów z 1 wiersza.
Jak zmienię w drugim wierszu wybiorę opcję to forma dostawy w 2 wierszu opcje są zablokowane, ale forma dostawy z 1 wiersza dostosowuje się do wyboru z 2 wiersza pomijając wybraną opcję z 1 wiersza.
Każdy kolejny select w wierszach cały czas odwołują się tylko do selectów z 1 wiersza.
Obstawiam pewnie, że chodzi o unikalność każdego wiersza, ale nie do końca wiem w jaki sposób to zrealizować. Czy id, czy name, czy jak?
Dziękuje za odpowiedzi


Ten post edytował itseepawel 9.09.2020, 09:57:48
Go to the top of the page
+Quote Post
nospor
post 9.09.2020, 10:23:17
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Moze byc ID, a mozesz rownie dobrze dzialac w obrebie jednego wiersza, czyli szukac elementow w danym wierszu na ktorym pracujesz


ps: przenosze. Problem z php nie ma zadnego zwiazku


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

"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
itseepawel
post 10.09.2020, 07:45:11
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.09.2020

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


Cytat(nospor @ 9.09.2020, 11:23:17 ) *
Moze byc ID, a mozesz rownie dobrze dzialac w obrebie jednego wiersza, czyli szukac elementow w danym wierszu na ktorym pracujesz


ps: przenosze. Problem z php nie ma zadnego zwiazku

Hmm a czym lepiej? Zrobić, a się nie narobić ( by nie pisać milion linijek kodu). Na czym mi zależy :
1) Po pierwsze jeden wiersz to jeden wiersz i odwołuje się on do samego siebie( jak zmieniam selecty w tym wierszu to one odwołują się do tego wiersza)
2) Walidacja zależności. Mam przycisk submit form i ten formularz tam jest. Przycisk jest zablokowany dopóki wszystko nie jest poprawnie, a o poprawności mówię właśnie w selectach, np. wybierzemy w 1 selecie jakąś opcje, a w drugim select można wybrać wszystkie opcje, ale tylko wybrane opcje są przypisane do opcji z 1 select, gdy ktoś wybierze inne niż może select zmieni kolor na, np. czerwony, że jest jakaś niezgodność, a na biały/ zielony gdy jest ok. Mógłbym to robić za pomocą hidden/disabled, ale ma to też służyć to nauczenia użytkownika co jest poprawne, a co nie. Na pewno bym musiał zliczać ilość błędów i w którym miejscu błędy są.
Go to the top of the page
+Quote Post
nospor
post 10.09.2020, 08:53:41
Post #4





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Ja osobiscie preferuje dzialanie na wierszach niz na ID. Robie tak od lat i nie ma z tym zadnych problemow


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

"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
itseepawel
post 10.09.2020, 14:10:04
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.09.2020

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


Cytat(nospor @ 10.09.2020, 09:53:41 ) *
Ja osobiscie preferuje dzialanie na wierszach niz na ID. Robie tak od lat i nie ma z tym zadnych problemow

Tylko w jaki sposób odczytać wiersz, gdy formularz jest wypełniany w zależności od danych zewnętrznych. Mam se plik gdzie są 3 wiersze i foreach jeźdzę po pliku i tworzę formularz wypełniając wiersze danymi.
Na początku jest ustawiana w selectach opcja, którą wybrał wpisał użytkownik w pliku. Po wejściu w weryfikuje czy nie doszło do złamania zależności, jeżeli tak to podkreśla selectboxa na czerwono i podczas zmiany informuje go kiedy będzie ok(kolor zielony lub biały) i tutaj wchodzi problem, który rozumiem i mniej więcej wiem na czym on polega, ale nie do końca wiem jak się za to zabrać, bo nigdy czegoś takiego nie pisałem i stoję w miejscu, bo selecty przypisują się cały czas do 1 wiersza. Za zmianę i weryfikację odpowiada skrypt js, a za tworzenie i wypełnianie php. mógłbym stworzyć zmienną " i " i ją przesyłać, ale nie wiem czy to dobry pomysł. Na pewno nie obejdzie się bez komunikacji
JS <--> PHP
Mam coś takiego:
https://zapodaj.net/4b88ec2978e63.png.html
Mam dwie funkcje. Pierwsza odpala się zaraz po załączeniu się skryptu, a druga podczas zmiany selecta. Nadałem dla wiersza <tr> id o identyfikatorze $i, ale nie wiem jak to w js ustawić, by działało dla każdego wiersza i każdy wiersz byłby osobny. Narazie skrypt działa tylko dla 1 wiersza.

Ten post edytował itseepawel 10.09.2020, 14:10:26
Go to the top of the page
+Quote Post
nospor
post 11.09.2020, 11:06:54
Post #6





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Nie bardzo rozumiem w czym problem albo kazdy z nas mysli o czyms innym. Ja caly czas mowie o JS. a ty?
W js bez problemu wiesz ktore elementy sa z danego wiersza.

pokaza moze kod a nie jakies obrazki ciagle wysylasz


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

"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
itseepawel
post 11.09.2020, 15:00:35
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.09.2020

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


Można zamknąć. Poradziłem sobie. Zrobiłem klasy w tabeli. W JS wyciągnąłem wszystkie elementy o danej klasie i pętlą przeleciałem i wszystko śmiga. Dziękuje za odpowiedzi, podpowiedzi itd. smile.gif
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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 18:02