| Autor | Správa |
elo
 Užívateľ
 Založený: 24.11.2009 Príspevky: 59
 | Zaslal: Ut 30.08.11 16:06 |   |
| kód: | Nazov
<input type="checkbox" checked name="zaskrkavatko"><br>
<input type="text" size="10" name="popis"><br>
<br><br><br>
Nazov 2
<input type="checkbox" checked name="zaskrkavatko2"><br>
<input type="text" size="10" name="popis2"> |
ako prosím vyriesit po oznaceni checked sa zobrazi textove pole a inak je skryte?
d. |
| |
  |
 |
camo
 Zablokovaný užívateľ
 Založený: 05.09.2009 Príspevky: 1176 Bydlisko: Lehota pod Vtáčnikom
 |
Naviazať na onchange toho checkboxu nejakú funkciu, ktorá zistí, či je zaškrtnutý, alebo nie a podľa toho nastaví viditeľnosť toho textového poľa. |
| |
    |
 |
Ďuri
 Administrátor
 Založený: 11.08.2007 Príspevky: 3784 Bydlisko: Brno
 | Zaslal: Ne 04.09.11 10:29 |   |
Na checkbox sa zvykne navazovat udalost onclick, lebo v niektorych prehliadacoch sa udalost onchange vyvola az po odstraneni focusu. Funguje to inak ale rovnako, onclick reaguje aj na kliknutie mysi, aj na zmenu klavesnicou. |
| |
    |
 |
elo
 Užívateľ
 Založený: 24.11.2009 Príspevky: 59
 | Zaslal: Ut 11.10.11 20:17 |   |
| kód: | <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. |
| |
  |
 |
chrono
 Skúsený užívateľ
 Založený: 13.11.2007 Príspevky: 808
 | Zaslal: Ut 11.10.11 21:21 |   |
Tie elementy sú pri sebe? Ak áno, tak ich daj napr. do div (prípadne, ešte lepšie do fieldset) a skry len ten jeden element. |
| |
  |
 |
elo
 Užívateľ
 Založený: 24.11.2009 Príspevky: 59
 | Zaslal: Ut 11.10.11 21:36 |   |
Mozete prosim napisat viac ako to vlozit a najma kde presne do kodu?
Dakujem. |
| |
  |
 |
chrono
 Skúsený užívateľ
 Založený: 13.11.2007 Príspevky: 808
 | Zaslal: Ut 11.10.11 22:03 |   |
Teraz je v html kóde niečo ako:| kód: | <input id="company_field">
<input id="company_div">
... | a v javascripte sa skrývajú jednotlivé elementy.
Rozumnejšie by ale mohlo byť (možno aj nie, záleží to od použitého html kódu), ak by sa tie elementy niečím obalili, takže by to mohlo vyzerať napr. takto| kód: | <div id="polozky">
<input id="company_field">
<input id="company_div">
...
</div> | a skryl/zobrazil by sa len ten obalovací element (v tomto prípade div, ak je to fo formulári, tak by sa mohol použiť fieldset). |
| |
  |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
|