• 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

–1 głos
262 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ź 721 wizyt
pytanie zadane 14 grudnia 2022 w JavaScript przez Dawidziu Bywalec (2,630 p.)
0 głosów
1 odpowiedź 409 wizyt
0 głosów
1 odpowiedź 233 wizyt

93,734 zapytań

142,671 odpowiedzi

323,294 komentarzy

63,296 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...