Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][CSS]Zmiana właściwości CSS za pomocą JS
Forum PHP.pl > Forum > Przedszkole
Tauri
Witam koderów.


Mam problem ze zmianą właściwości CSS poprzez funkcję JS. Funkcję wywołuję w formularzu:
  1. <input type="checkbox" onchange="if (this.checked) {show_field();}else{hide_field();}" />


Same funkcje są w head i mają postać:

  1. function show_field()
  2. {
  3. document.querySelector(".sh1").style.display="";
  4. }
  5.  
  6.  
  7. function hide_field()
  8. {
  9. document.querySelector(".sh1").style.display="none";
  10. }


Zadaniem funkcji jest ukrycie elementów formularza w postaci wiersza tabeli:

  1. <tr class="sh1"><td>NIP</td><td><input type="text ... /></td></tr>


Problem polega na tym, że jeśli zdefiniuję klasę ".sh1"w pliku css lub bezpośrednio w pliku html to wywoływane funkcje nie działają. Funkcje są wykonywane ale żadne pola nie są ukrywane. Gdy znów usunę definicję to jest OK. W czym jest problem questionmark.gif. Dodam jeszcze że domyślnie pola są ukryte, tak więc w definicji klasy CSS powinno być display=none; Gdyby oczywiście działało.
trueblue
Pokaż jak wygląda definicja klasy .sh1 w css.
Tauri
Po wielu próbach zostawiłem tylko tę opcję na której mi zależy. Czyli pola domyślnie niewidoczne.


  1. .sh1
  2. {
  3. display:none;
  4. }


No i są niewidoczne ale funkcje nie mogą zmienić tej właściwości.

trueblue
  1. document.querySelector(".sh1").style.display="table-row";
Lion
Sprawdź także czy element na którego ukryciu Ci zależy jest pierwszym elementem z daną klasą CSS w dokumencie.
Tauri
Dzięki już działa. smile.gif . Brakowało tylko właściwości: display określonej jako table-row w funkcji wyświetlającej pola.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.