Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Problem z checkboxem i divem
kazet
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 14.03.2008

Ostrzeżenie: (0%)
-----


nigdy nie bawilem sie w jave, no moze kiedys ale niestety nadeszla potrzeba uzycia.. no i przy napisaniu/uzyciu innego/przerabianiu inncyh pojawil sie problem. tak sie bawilem no i ofc nie dziala tak jak powinien, bo wogle nie dziala.

Chciałem napisac skrypt, który: po kliknięciu na nazwę, pokazuje mi obrazek i zaznacza checkbox; przy ponownym kliknięciu odznacza i chowa obrazek. skrypt ktory napisalem wyglada tak:

-----
Kod
     var state = 'hide';
      
      function showhide(divid, boxid) {
      
      if (state == 'hide') {
      state = 'show';
      }
      else {
      state = 'hide';
      }
      
      if(state == 'hide') {
      getElementById(divid).style.display = 'none';
      getElementById(boxid).checked = 'false';
      state = 'show';
      }
      else {
      getElementById(divid).style.display = 'block';
      getElementById(boxid).checked = 'true';
      state = 'hide';
      }
      
      }

-----

no i do tego czesc html

Kod
   <p><a href="#" onclick="showhide(div1, box1);">schowaj/ukryj
    <form>
    <input type="checkbox" id="box1">
    </form>
    <div id="div1" style="display: none;">tekst</div>
    </a></p>


niestety lipa... nie znaznacza, nie pokazuje.. juz nic :/ jezeli ktos zna sie chociaz troche na javie, moze moglby wskazac bledy lub jakies inne rozwiazanie, to baaardzo bym sie cieszyl (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

@edit
Cezar jak ci dziekowac? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował kazet 18.03.2008, 16:20:52
Go to the top of the page
+Quote Post
Cezar708
post
Post #2





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


na początek
document.getElementById(..
zamiast samego
getElementById(...

po drugie
(..)checked = false;
zamiast
(..)checked = 'false';

podobnie rzecz się ma ze słowem true

po trzecie to jest JavaScript a nie Java (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

po czwarte
po co:
Kod
     if (state == 'hide') {
     state = 'show';
     }
     else {
     state = 'hide';
     }

skoro potem nic z tym nie robisz

Ten post edytował Cezar708 18.03.2008, 15:52:57
Go to the top of the page
+Quote Post
kazet
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 14.03.2008

Ostrzeżenie: (0%)
-----


w sumie to naprawde to nie bylo potrzebne (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) nom cos tam pozmienialem ale nadal nie działa :/

Kod
var state = 'hide';

function showhide(divid, boxid) {

if(state == 'hide') {
document.getElementById(divid).style.display = 'none';
document.getElementById(boxid).checked = false;
state = 'show';
}
else {
document.getElementById(divid).style.display = 'block';
document.getElementById(boxid).checked = true;
state = 'hide';
}

}
Go to the top of the page
+Quote Post
Cezar708
post
Post #4





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


a nie łatwiej tak:
  1. function toogleShow(checkBox, divId){
  2. if ( checkBox.checked ){
  3. document.getElementById(divId).style.display = 'block';
  4. } else {
  5. document.getElementById(divId).style.display = 'none';
  6. }
  7. }
  8. <input type="checkbox" onChange="toogleShow(this, 'test')">
  9. <div id="test" style="display: none;">
  10. widać?
  11. </div>


oczywiście szczegóły dostosuj pod siebie.


Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 19:25