Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS]Radio, on click elementy formularza
Forum PHP.pl > Forum > Przedszkole
Muadib
Witam ^^
Napisałem funkcje w JavieScript która powoduje znikanie i pojawianie sie elementów formularza, problem jest taki ze z tego wszystkiego jest tylko pojawiania sie na onclick tongue.gif ale kiedy zmieniam radio element pozostaje widoczny a chciałbym żeby znikał..

funkcje są następujące:

  1. <?php
  2. function znik2(f)
  3. {
  4. if (f.checked)
  5. document.getElementById("ten2").style.visibility="visible"
  6. else
  7. document.getElementById("ten2").style.visibility="hidden"
  8. }
  9.  
  10. function znik3(f)
  11. {
  12. if (f.checked)
  13. document.getElementById("ten3").style.visibility="visible"
  14. else
  15. document.getElementById("ten3").style.visibility="hidden"
  16. }
  17. ?>


A część html następująco

  1. <input type='radio' name='checked' value= 'opcja1' onclick='return znik2(this)'>
  2. <input type='radio' name='checked' value= 'opcja1' onclick='return znik3(this)'>
  3.  
  4. <div id='ten2' style='visibility:hidden'>
  5. <select name= 'opcje1'>
  6. <option value =opcja1>opcja1</option><br />
  7. </div>
  8.  
  9. <div id='ten3' style='visibility:hidden'>
  10. <select name= 'opcje2'>
  11. <option value =opcja2>opcja2</option><br />
  12. </div>


Chyba zamienić onclick na coś inszego ale zielony jestem z JavaScript wiec wole sie zapytać :<
lord_t
Uwaga: Osobiście zamieniłbym visibility na display.

Nie sprawdzaj czy checked==true, tylko sprawdz jakie ma visibility, jesli hidden to zmien na visible; i vice versa
vokiel
możesz zastosować zdarzenie onchange() winksmiley.jpg
Muadib
OnCGHange daje taki sam efekt hmm ymieniem funkcje na takie cos

  1. <?php
  2. function znik2(f)
  3. {
  4. if(document.getElementById(f).style.display=="none")
  5. document.getElementById("ten2").style.display="block"
  6. else
  7. document.getElementById("ten2").style.display="none"
  8. }
  9. ?>


ale kurna cođ ciagle jest nie tak :/
lord_t
U mnie działa:
Kod
function znik2(f)
{
    if(document.getElementById(f).style.display=="none")
          document.getElementById(f).style.display="block"
          else
          document.getElementById(f).style.display="none"
}


  1. <div id='s'>XXXXXXXX</div>
  2. <button onclick='znik2("s")'>OKNO</button>
Muadib
NIe no prawie o to chodzi tongue.gif ale to z butonami, z radio nie tak fajnie z tego powodu ze na przyklad po zmianie opcji w polach radio elemnty pozostaja wyswietlone dalej dla danego pola.. hmm moze to rpzerobie na combo box ;p
lord_t
Chyba o to chodziło:
  1. <script type="text/javascript">
  2. function znik2(ddiv,f)
  3. {
  4. var tab=document.getElementById(ddiv).getElementsByTagName('select');
  5. for(var i=0;i<tab.length;i++)
  6. if(tab[i].id==f)
  7. tab[i].style.display="block";
  8. else
  9. tab[i].style.display="none";
  10. }
  11.  
  12.  
  13. <input type='radio' name='checked' value= 'opcja1' onclick='znik2("all","ten2")' />
  14. <input type='radio' name='checked' value= 'opcja1' onclick='znik2("all","ten3")' />
  15.  
  16. <div id='all'>
  17. <select name= 'opcje1' id='ten2' style='display:none'>
  18. <option value ='opcja1'>opcja1</option>
  19.  
  20. <select name= 'opcje2' id='ten3' style='display:none'>
  21. <option value ='opcja2'>opcja2</option>
  22. </div>
wert1
chyba chodzio o to zeby wczytalo dowolna tresc
moglbys zrobic
tak:
  1. <input type='radio' name='checked' value= 'opcja1' onclick='return znik2(this)'>
  2. <input type='radio' name='checked' value= 'opcja1' onclick='return znik3(this)'>
  3.  
  4. <div id='ten2' style='visibility:hidden'>
  5. bblasAADD
  6. </div>
  7.  
  8. <div id='ten3' style='visibility:hidden'>
  9. blabala
  10. </div>
Muadib
Sweeet panowie zadziałało winksmiley.jpg
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.