![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 0 Dołączył: 10.06.2004 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam checkboxa z takim kodem: Kod <input type="checkbox" id="gatunek" name="gatunek" value="1" onclick="if(this.checked){ document.getElementById(\'g\').innerHTML=\', gatunek\'; }else{document.getElementById(\'g\').innerHTML=\'\';}"> <label for="gatunek">gatunek</label> ... <span id="g"></span> i jak to przerobić, bo mam kilka elementów (<span id="g"></span>). Myślałem że jak dam NAME to bedzie ok, ale nei działa (zamiast document.getElementById->document.getElementByName i zamiast id="g"->name="g") i jeszcze jedno pytanie. jak sprawdzić czy inny chceckbox jest zaznaczony? zrobiłem coś takiego: Kod if(document.getElementById(\'rok\').checked){document.getElementById(\'rok\').innerHTML=\'buuuuu\';} i dałem to do tego wczesniejszego IF'a do ELSE i niestety nie działa ![]() Da się to w jakiś sposób rozwiązać? -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Tak na początek to opisz dokładnie co chcesz osiągnąć, bo nie do końca można to wywnioskować z Twojej wypowiedzi.
Nie wsadzaj dłuższych instrukcji pod określone zdarzenia, tylko wyrzuć to do zewnętrznej funkcji. Co do pytania: nie możesz mieć kilku elementów span o tym samym id. Id jest czymś unikalnym i dwa elementy nie mogą mieć tego samego id. Nie ma takiej metody: getElementByName, a atrybut name jest jeśli dobrze pamiętam zabroniony w elmentach nie związanych z formularzami. Masz kilka elementów span tak ? Jesli chcesz coś do nich wsadzić za jednym zamachem to nadaj im atrybut class. A następnie na podstawie tego atrybutu uzupełniasz ich zawartość. Kod <script type="text/javascript"> function insTxt(cd,cl) { var elems = document.getElementsByTagName("span"); for(var i = 0; i < elems.length; i++) { if(elems[i].className == cl) { if(cd) { elems[i].innerHTML = "gatunek"; } else { elems[i].innerHTML = ""; } } } } </script>
Co do drugiego pytania to gdzie chcesz sprawdzać czy ten checkbox jest zaznaczony ? -------------------- -------------
------ |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 0 Dołączył: 10.06.2004 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tak na początek to opisz dokładnie co chcesz osiągnąć, bo nie do końca można to wywnioskować z Twojej wypowiedzi. http://gimbuda.szkola.pl/3miel/index.php?a...kie&sortowanie= i tutaj mam CHECKBOXY (nazwa polska, orginalna, ork, gatunek...) i na dole ma sie to wyświetlać (podgląd). teraz jezeli zaznacze NAZWA PL i NAZWA ORG. to ma byc tak jak jest, ale jak zaznacze tylko NAZWA ORG to zeby była bez nawiasów. Cytat Nie wsadzaj dłuższych instrukcji pod określone zdarzenia, tylko wyrzuć to do zewnętrznej funkcji. dlaczego nie? Przecierz wszytko jest ok.Cytat nie możesz mieć kilku elementów span o tym samym id. Id jest czymś unikalnym i dwa elementy nie mogą mieć tego samego id. wiem, ale nie wiem jak zrobić zeby mozna bylo zmieniac od razu wiecej SPANówCytat Masz kilka elementów span tak ? Jesli chcesz coś do nich wsadzić za jednym zamachem to nadaj im atrybut class. A następnie na podstawie tego atrybutu uzupełniasz ich zawartość. tylko że ja mam kilkanaście SPANów i tylko kilka znich ma się zmienić. Wiec twoja metoda niestety odpada:/---EDIT----- juz cos z tym kombinuje, jednak działa ![]() Cytat Co do drugiego pytania to gdzie chcesz sprawdzać czy ten checkbox jest zaznaczony ? w IF z checkboxa (np. w checkboxu z NAZWY ORG. che sprawdzic czy jest zaznaczony checkbox z NAZWY PL)--------EDIT--------- jeszcze jedno, bo teraz mam class i SELECT mi coś nei działa. normanie miałem: Kod "document.getElementById(\'pkt\').innerHTML=this.value" i zmieniłem na: Kod onchange="document.getElementsByTagName("span").className==\'pkt\'.innerHTML=this.value" i niestety nic. Możecie mi pomóc? PROSZ! to dla mnie ogromnie ważne, a zatrzymałym sie na takiem problemie! Ten post edytował 3miel 10.07.2005, 20:38:39 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Cytat Cytat Nie wsadzaj dłuższych instrukcji pod określone zdarzenia, tylko wyrzuć to do zewnętrznej funkcji. dlaczego nie? Przecierz wszytko jest ok./ Dlatego żeby kod był bardziej czytelny, wtedy trudniej o pomyłkę, łatwiej modyfikować. Cytat Kod if(document.getElementById(\'rok\').checked){document.getElementById(\'rok\').innerHTML=\'buuuuu\';} Przypisujesz innerHTML do checkboxa, chyba chciałeś do spana ![]() Cytat Kod onchange="document.getElementsByTagName("span").className==\'pkt\'.innerHTML=this.value" no takie coś na pewno nie przejdzie ![]() Metoda document.getElementsByTagName zwróci tablicę z elementami któryc tag określonym w jej atrybucie. Powiedz co chciałeś osiągnąć, bo ten zapis niewiele mówi -------------------- -------------
------ |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 0 Dołączył: 10.06.2004 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
dobra, mam juz coś zrobione:
Kod function select(text) { i działa var elems = document.getElementsByTagName("span"); for(var i = 0; i < elems.length; i++) { if(elems[i].className == 'pkt') { elems[i].innerHTML = text; } } } ![]() Ale kolejne pytanie: Jak sprawdzic czy ceckbox jets zaznaczony? jezlei tak to podobne działanie co select - zmian tresci w spanie. powiem najpierw co che osiagnąc. -mam 2 CHeckboxy: Nazwa polska(NP) i Nazwa orginalna(NO) -i teraz wyswietla to sie w taki sposó: "Nazwa polska (nazwa orginalna)" i jzelie sa znazaczone te 2 checkboxy to si ewszytko wyswietla, jezeli tylko NP to wyswietla sie tylko NP, a jak NO to tylko NO, ale tutaj jest probelm, bo jezlei bedize sie wyswietlac NO to bedzie w nazwiasach a mi chodzi o to zeby ich nie było (tylko w przypadku gdy NP jest wyłączona!) dlatgo najlepiej bediz ezrobic osobna funkcje do nawiasó, sprawdzającą 2 warunki jednoczesnie. W jaki sposób to zrobić? -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
czy checkbox zaznaczony
reszte robisz podobnie jak miales -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Kod <script type="text/javascript"> function check() { var org = document.getElementById("org"); var pol = document.getElementById("pol"); var mesg = document.getElementById("txt"); if(pol.checked && !org.checked) { mesg.innerHTML = "Nazwa polska"; } if(org.checked && !pol.checked) { mesg.innerHTML = "Nazwa orginalna"; } if(org.checked && pol.checked) { mesg.innerHTML = "Nazwa polska(Nazwa orginalna)"; } if(!org.checked && !pol.checked) { mesg.innerHTML = ""; } } </script> Chyba o to chodzi. Troche to łopatologiczne, ale nie moge wymyślić nic innego ![]() Ten post edytował revyag 12.07.2005, 08:39:22 -------------------- -------------
------ |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 0 Dołączył: 10.06.2004 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
ale z tego co widze to revyag masz to zrobione dla <span id=txt>, a ja musze to mieć na <span class=txt>.
Jeżęli byś mógł to powiedz co mam poprawić, o u mnei nie najlepiej z JS :/ . Pozdro i Dzięki. Ten post edytował 3miel 12.07.2005, 08:43:18 -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Kod function check() { var org = document.getElementById("org"); var pol = document.getElementById("pol"); var mesg = ''; if(pol.checked && !org.checked) { mesg = "Nazwa polska"; } if(org.checked && !pol.checked) { mesg = "Nazwa orginalna"; } if(org.checked && pol.checked) { mesg = "Nazwa polska(Nazwa orginalna)"; } if(!org.checked && !pol.checked) { mesg = ""; } var elems = document.getElementsByTagName("span"); for(var i = 0; i < elems.length; i++) { if(elems[i].className == 'pkt') { elems[i].innerHTML = mesg; } } } Jeśli dobrze Cię zrozumiałem to będzie tak ![]() -------------------- -------------
------ |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 0 Dołączył: 10.06.2004 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
teraz mam wyjazd, sprawdze jak wróce czyli pod wieczór
![]() Pozdro, 3miel ------------EDIT------------- Po moich drobnych przeróbkach działa idealnie ![]() ![]() Nawet nie weidziecie jak bardzo jestem wam wdzieczny ![]() Dzieki, pozdro, 3miel Ten post edytował 3miel 12.07.2005, 21:51:50 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 10:12 |