• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

getElementsByClassName nie działa w bootstrapie

Aruba Cloud - Virtual Private Server VPS
–1 głos
168 wizyt
pytanie zadane 23 października 2018 w JavaScript przez Michał Samolewski Bywalec (2,240 p.)

Cześć,

napotkałem dziwny problem którego nie umiem wyjaśnić.

Tworzę formularz z checkboxami. Postanowiłem opracować mechanizm, że po zaznaczeniu danego checkboxa będą się pod nim wyświetlać inputy z dodatkowymi danymi do wprowadzenia. Analogicznie po odznaczeniu checkboxa te inputy mają zniknąć. Udało mi się to zrobić bezproblemowo przy jednym inpucie:

<input type="checkbox" name="s_podstawowe" value="Szkolenie podstawowe" class="form-check-input" onclick="document.getElementById('s_podstawowe1').style.display = 'block'; if(this.checked==false){document.getElementById('s_podstawowe1').style.display = 'none';}" value="yes" />
            <label for="s_podstawowe">Szkolenie podstawowe</label>
            
            <input type="text" id="s_podstawowe1" placeholder="Data uzyskania" class="form-control" style="display:none;" name="s_podstawowe_od">

Problem pojawił się kiedy postanowiłem dodać większą ilość tych 'ukrytych' inputów. Jak wiadomo, getElementById działa tylko dla jednego ID, w związku z tym postanowiłem użyć getElementsByClassName. Niestety, w tym przypadku po zaznaczeniu checkboxa nic pod spodem nie chce się pojawić. Kod wygląda następująco:

<input type="checkbox" name="s_podstawowe" value="Szkolenie podstawowe" class="form-check-input" onclick="document.getElementsByClassName('s_podstawowe_h').style.display = 'block'; if(this.checked==false){document.getElementsByClassName('s_podstawowe_h').style.display = 'none';}" value="yes" /> 
<label for="s_podstawowe">Szkolenie podstawowe</label> 

<input type="text" placeholder="Data uzyskania" class="form-control s_podstawowe_h" style="display:none;" name="s_podstawowe_od"> 
<input type="text" placeholder="Numer zaświadczenia" class="form-control s_podstawowe_h" style="display:none;" name="s_podstawowe_nr">

Gdzie popełniam błąd? 

Dzięki wielkie z góry.

Michał

1 odpowiedź

0 głosów
odpowiedź 23 października 2018 przez Ignobiles Obywatel (1,800 p.)
wybrane 24 października 2018 przez Michał Samolewski
komentarz 24 października 2018 przez Michał Samolewski Bywalec (2,240 p.)
Dobra, jednak jestem głupi. Przepraszam za bezsensowne pytanie i dzięki za odpowiedź. :p

Podobne pytania

0 głosów
1 odpowiedź 484 wizyt
pytanie zadane 14 grudnia 2022 w JavaScript przez Dawidziu Bywalec (2,630 p.)
0 głosów
1 odpowiedź 218 wizyt
0 głosów
1 odpowiedź 159 wizyt

93,331 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,664 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...