Autor Zpráva
m
Profil *
Ahojte, tuto vidim, ze to zije a je tu mnoho odbornikov.

<script type="text/javascript">
document.getElementById('vm_dodaci_field').onclick = function(){
    if (document.getElementById('vm_dodaci_field').checked)
    {
      document.getElementById("company_field").style.visibility = "visible";
     document.getElementById("company_div").style.visibility = "visible";
     document.getElementById("address_1_field").style.visibility = "visible";
    document.getElementById("address_1_div").style.visibility = "visible";
     document.getElementById("city_field").style.visibility = "visible";
    document.getElementById("city_div").style.visibility = "visible";
     document.getElementById("zip_field").style.visibility = "visible";
    document.getElementById("zip_div").style.visibility = "visible";
     document.getElementById("phone_1_field").style.visibility = "visible";
    document.getElementById("phone_1_div").style.visibility = "visible";
     document.getElementById("phone_2_field").style.visibility = "visible";
    document.getElementById("phone_2_div").style.visibility = "visible";
    }
    else
    {
      document.getElementById("company_field").style.visibility = "hidden";
     document.getElementById("company_div").style.visibility = "hidden";
     document.getElementById("address_1_field").style.visibility = "hidden";
     document.getElementById("address_1_div").style.visibility = "hidden";
     document.getElementById("city_field").style.visibility = "hidden";
     document.getElementById("city_div").style.visibility = "hidden";
     document.getElementById("zip_field").style.visibility = "hidden";
     document.getElementById("zip_div").style.visibility = "hidden";
     document.getElementById("phone_1_field").style.visibility = "hidden";
     document.getElementById("phone_1_div").style.visibility = "hidden";
     document.getElementById("phone_2_field").style.visibility = "hidden";
     document.getElementById("phone_2_div").style.visibility = "hidden";
    }
  }
</script>

<style>
#company_field, #company_div,#address_1_field, #address_1_div, #city_field, #city_div,#zip_field, #zip_div,
#phone_1_field, #phone_1_div, #phone_2_field, #phone_2_div {visibility:hidden;};
</style>

 <script type="text/javascript">
document.getElementById('vm_fir_field').onclick = function(){
    if (document.getElementById('vm_fir_field').checked)
    {
      document.getElementById("vm_firmy_field").style.display = "block";
     document.getElementById("vm_firmy_div").style.display = "block";
     document.getElementById("vm_uliceb_field").style.display = "block";
    document.getElementById("vm_uliceb_div").style.display = "block";
     document.getElementById("vm_mestob_field").style.display = "block";
    document.getElementById("vm_mestob_div").style.display = "block";
     document.getElementById("vm_pscb_field").style.display = "block";
    document.getElementById("vm_pscb_div").style.display = "block";
     document.getElementById("vm_ico_field").style.display = "block";
    document.getElementById("vm_ico_div").style.display = "block";
     document.getElementById("vm_dic_field").style.display = "block";
    document.getElementById("vm_dic_div").style.display = "block";
     document.getElementById("vm_telfax_field").style.display = "block";
    document.getElementById("vm_telfax_div").style.display = "block";
     document.getElementById("vm_mobil_field").style.display = "block";
    document.getElementById("vm_mobil_div").style.display = "block";
    }
    else
    {
      document.getElementById("vm_firmy_field").style.display = "none";
     document.getElementById("vm_firmy_div").style.display = "none";
     document.getElementById("vm_uliceb_field").style.display = "none";
     document.getElementById("vm_uliceb_div").style.display = "none";
     document.getElementById("vm_mestob_field").style.display = "none";
     document.getElementById("vm_mestob_div").style.display = "none";
     document.getElementById("vm_pscb_field").style.display = "none";
     document.getElementById("vm_pscb_div").style.display = "none";
     document.getElementById("vm_ico_field").style.display = "none";
     document.getElementById("vm_ico_div").style.display = "none";
     document.getElementById("vm_dic_field").style.display = "none";
     document.getElementById("vm_dic_div").style.display = "none";
     document.getElementById("vm_telfax_field").style.display = "none";
     document.getElementById("vm_telfax_div").style.display = "none";
     document.getElementById("vm_mobil_field").style.display = "none";
     document.getElementById("vm_mobil_div").style.display = "none";
    }
  }
</script>
<style>
#vm_firmy_field, #vm_firmy_div,#vm_uliceb_field, #vm_uliceb_div, #vm_mestob_field, #vm_mestob_div,#vm_pscb_field, #vm_pscb_div,
#vm_ico_field, #vm_ico_div, #vm_dic_field, #vm_dic_div, #vm_telfax_field, #vm_telfax_div, #vm_mobil_field, #vm_mobil_div {display:none;};

</style>


Tento kod funguje avsak s jednou chybickou.

Ma velke medzery (vela volnych riadkov) medzie jednotlivymi checkboxmi.

Ako to mozem upravit?

Dakujem za pomoc.
__construct
Profil
m:
Stačí použiť hlavu. Najjednoduchšie bude nadefinovať v CSS nejaké triedy prideliť className rodičovskému prvku.
YOYO
Profil
Celé té skupině prvků, co se má skrývat bych přidal class a místo ohavného
 {
      document.getElementById("vm_firmy_field").style.display = "block";
     document.getElementById("vm_firmy_div").style.display = "block";
     document.getElementById("vm_uliceb_field").style.display = "block";
    document.getElementById("vm_uliceb_div").style.display = "block";
     document.getElementById("vm_mestob_field").style.display = "block";
    document.getElementById("vm_mestob_div").style.display = "block";
     document.getElementById("vm_pscb_field").style.display = "block";
    document.getElementById("vm_pscb_div").style.display = "block";
     document.getElementById("vm_ico_field").style.display = "block";
    document.getElementById("vm_ico_div").style.display = "block";
     document.getElementById("vm_dic_field").style.display = "block";
    document.getElementById("vm_dic_div").style.display = "block";
     document.getElementById("vm_telfax_field").style.display = "block";
    document.getElementById("vm_telfax_div").style.display = "block";
     document.getElementById("vm_mobil_field").style.display = "block";
    document.getElementById("vm_mobil_div").style.display = "block";
    }

pak použil

for(var i=0, e=document.getElementsByClassName('trida'); i < e.length; i++) {
 e[i].style.display = "block"
}


atd,..
__construct
Profil
YOYO:
Vieš na čo sa používa CSS? Prečo by mal nastavovať atribút style všetkým prvkom, keď môže nastaviť className ich rodičovskému elementu a skrývanie/odkrývanie sa postará CSS?
Mimochodom getElementsByClassName Ti nebude fungovať vo všetkých prehliadačoch.
YOYO
Profil
__construct:
nojo, máš naprostou pravdu,.. mám moc omezené myšlení,.. ale jinak, když říkáš, že getElementsByClassName nefunguje všude,.. jakým způsobem hromadně změnit atribut nějaké skupině elementů?
nicméně ted mi přijde, že m má náký jiný, spíš jen estetický problém,..
Chamurappi
Profil
Reaguji na YOYO:
jakým způsobem hromadně změnit atribut nějaké skupině elementů?
V drtivé většině případů něco takového není nutné. Při změnách vzhledu i při nastavování událostí jde pohodlně využít toho, že DOM je strom. Každá skupina elementů má nějakého společného rodiče.

Jinak je samozřejmě možné projet všechny elementy v prohledávané větvy DOMu a u každého porovnat, zda vyhovuje určitým podmínkám (nemusí se kontrolovat jen className), to je práce pro jeden až dva řádky kódu…

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0