![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
W JS raczkuję. Mam taki skrypcik poniżej:
Skrypt wyswietla lub chowa diy w zalezności od tego co mamy wybrane w SELECT. Żadne rocket science. Ale teraz wypadałoby aby wartości book, dvd, furniture nie były wpisane ręcznie, ale żeby ładowały się z bazy. Obecnie w bazie mam 3 rodzaje produktów, ale jak będzie ich 300... ? Tak więc, jeśli rodzajów produktów będzie więcej to i case'ów powinno być automatycznie więcej. Jesli dodam do bazy rodzaj produktu 'sanki' no to powinien się dodać nowy case gdzie 'sankiFields' jest display:block a reszta ma 'none'. Oczywiście wiem jak to zrobić w php, ale wrzucanie phpa do pliku js, lub trzymanie skryptu js w pliku *.php to chyba nie jest najlepsza praktyka. Pomóżcie jak to zrobić po bożemu. Dzięki. Ten post edytował sadistic_son 3.01.2023, 12:20:07 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
No dobra, rozumiem co masz na mysli.
A więc tak wygląda fragmencik źródła strony: elementy 'dynamicFields' mają w css ustawione 'display:none' domyslnie, bo chcemy je wyświetlić tylko jeśli są wybrane w selekcie (zdeterminujemy to po ich ID). Do tego taki skrypcik:
Niestety w konsoli JS dostaję: Kod Uncaught TypeError: Cannot read properties of null (reading 'style') Czemu nie widzi tego elementu?
at HTMLSelectElement.<anonymous> (scripts.js:7:13) Ten post edytował sadistic_son 3.01.2023, 13:53:09 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 04:58 |