Autor Zpráva
Kenik01
Profil
Zdravím,
javascript používám z donucení :)
potřebuji přidat funkci znovuskrytí obsahu po odkliknutí checkboxu.

Nějak jsem jej poskládal z různých skryptů.
<script type="text/javascript">
function hide(){
document.getElementById('shippingField').style.display='none';
}
function show(){
document.getElementById('shippingField').style.display='';
}
</script>

<input name="shipping_address" value="1"onclick="show()" type="checkbox"><b>Dodací adresa je jiná než fakturační</b></label>

<fieldset style="" id="shippingField" class="sidebysidefields">

<script>
/* tento skript skryje nabídku */
document.getElementById("shippingField").style.display = "none";

</script>  



Nevím jak mu říci zobraz po kliku pokud je nastaveno display="" ...

Předem díky za váš čas.
KEnik
Tori
Profil
Použijte jednu funkci, která zjistí hodnotu vlastnosti display a podle toho pak nastaví opačnou. A ID prvku bude lepší poslat té funkci jako parametr.
Kenik01
Profil
Díky za nakopnutí.
Po 30 minutách bádání a Před 30 vteřinami od rozuzlení: No jsem ve slepé uličcce nevím co mám špatně asi bych se měl něco o JS naučit..
pak jsme zjistil že mi chybí poslední závorka :)

<script type="text/javascript">
function prepni(){
        if (document.getElementById('shipping_address').checked==true)
            {document.getElementById('shippingField').style.display='';}     
        else {document.getElementById('shippingField').style.display='none';}
}
</script>


<input name="shipping_address" value="1" id="shipping_address" onclick="prepni()" type="checkbox"><b>Dodací adresa je jiná než fakturační</b>

<fieldset style="" id="shippingField" class="sidebysidefields">

<script>
/* tento skript skryje nabídku */
document.getElementById("shippingField").style.display = "none";

</script>  

_es
Profil
Kenik01:
document.getElementById('shippingField').style.display='';
Nebude istejšie tam zadať nejakú rozumnú hodnotu namiesto prázdneho reťazca?
Witiko
Profil
_es:
rozumnú hodnotu namiesto prázdneho reťazca?
Rozumnou hodnotou _es myslí například display:block. Ano, co do efektu je to prakticky jedno, jde jen o otázku "stylistiky". :)
Chamurappi
Profil
Reaguji na _es:
Prázdný řetězec je dle mého názoru lepší, ruší nastavení vlastnosti v atributu style => hlavní slovo mají ostatní stylopisy.
Fred
Profil
Kenik01 Nejspíš je zbytečné zjišťovat zda je checkbox zaškrtnutý , stačí ověřit jestli je ten fieldset zobrazen či ne.
function prepni(){
document.getElementById('shippingField').style.display=document.getElementById('shippingField').style.display==''?'none':'';
}
Misha
Profil *
Fred:
Tohle není dobré. Když uživatel klikne dvakrát na nezobrazovat, tak už se zase zobrazí a bude to celé popletené.

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