Dynamiczny formularz w PHP (problem z listami rozwijanymi-select) |
Dynamiczny formularz w PHP (problem z listami rozwijanymi-select) |
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 |
|
|
9.09.2020, 10:23:17
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 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 |
|
|
10.09.2020, 07:45:11
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.09.2020 Ostrzeżenie: (0%) |
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ą. |
|
|
10.09.2020, 08:53:41
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 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 |
|
|
10.09.2020, 14:10:04
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.09.2020 Ostrzeżenie: (0%) |
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 |
|
|
11.09.2020, 11:06:54
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 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 |
|
|
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.
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 04:21 |