![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 1 Dołączył: 28.12.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
założenia: mam pare checkboxow i do tego obrazek + formularz
oczekiwany efekt:po zaznaczeniu checkboxa obrazek się chowa, pojawia się pole formularzyka znalazlem nawet i na forum.php.pl coś działającego z założeń podobnie(zależnie od checkboxa) ale moja znajomość składni JS jest tak znikoma, że nic mi to nie daje, mógłby mi ktoś podać jakiś link do tutka w tej sprawie, albo jakiś skrypt oto co znalazłem http://forum.php.pl/lofiversion/index.php/t45652.html http://forum.webhelp.pl/viewtopic.php?t=13...&highlight= tutaj jest praktycznie ten sam problem co mój, z tym, że dla jednego chboxa i tak jakoś dziwnie rozwiązany, mi się wydaje, że najlepiej to na funkcji zrobić z góry dziękuje za pomoc pozdrawiam
coś takiego połowicznie załątwiło sprawe, po klkinięciu pojawia się formularz(display:none), ale obrazek się nie chowa, musiałem usunąć id z obrazka, nie wiem czemu to nie chce ze sobą współpracować, funkcja niby poprawna, ale coś nie gra :/ może jakaś mała wskazóweczka? nikt mi nie pomoże? przecież problem nie jest wcale jakiś złożony, a ja nie proszę tylko o jakieś wskazówki :/ Ten post edytował cyngiel 13.08.2006, 21:12:59 -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jak wywołujesz tę funkcję i co ma jakie id przypisane?
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 1 Dołączył: 28.12.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
<tr><td><img src="adres"></td>
<td><div id="$i" style="display: none">Załaduj ten plik:<input type="file"></div></td> <td> <input type="checkbox" name="kasuj" onclick="ukryj($i)"> </td></tr> tak to działą obecnie, w php oczywiście, pousuwałem to co nieistotne dla problemu- mam nadizeje, że wszystko jasne jeśli do img przydziele id, to po kliknięciu checkboxa znika obrazek, a nie pojawia się formularz Ten post edytował cyngiel 14.08.2006, 22:56:10 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Kod function ukryj(ch)
{ if (obiekt = document.getElementById(ch)) { if (obiekt.style.display == "none") obiekt.style.display = "block"; else obiekt.style.display = "none"; obiekt.parentNode.parentNode.getElementsByTagName('img')[0].style.display="none"; } } Ten post edytował Zajec 15.08.2006, 00:28:24 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 1 Dołączył: 28.12.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
wielkie dzięki, bardzo mi pomogłeś, fajnei, jeszcze jakbyś objaśnił, co miałęm źle, czemu nie działało, a co w swoim skrypcie dałeś, ale to zawsze troche więcej roboty, więc ciesze się, że jest jak jest, próbowałem to troche zmodyfikowac, gdyż po zaznaczeniu checkboxa obrazek znika i gdy go odznaczamy już się nie pojawia, próbowałem to zmienić na coś takiego:
Kod function ukryj(ch) { if (obiekt = document.getElementById(ch)) { if (obiekt.style.display == "none") obiekt.style.display = "block"; else obiekt.style.display = "none"; if (obiekt.parentNode.parentNode.getElementsByTagName('img')[0].style.display == "none") obiekt.parentNode.parentNode.getElementsByTagName('img')[0].style.display = "block"; else obiekt.parentNode.parentNode.getElementsByTagName('img')[0].style.display = "none"; } } teraz już działa jak chciałem, pierw źle to składniowo zapisałem, a potem miałem warunki źle- nie wiem czemu, wydawało mi się, że odwrotnie było dobrze, ale tak jakoś działa, czasem są problemy z myśleniem ![]() w każdym razie dzięki za pomoc ![]() Ten post edytował cyngiel 15.08.2006, 14:48:28 -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Nie ma sprawy :-) Wytłumaczenie:
if (obiekt = document.getElementById(ch)) { } dodałem po to, aby skrypt nie wywoływał błędu w przypadku nie odnalezienia elementu "obiekt". Z pierwszych warunków usunąłem zbędne klamry, bo gdy instrukcja wystepująca po if'ie składa się tylko z jednej linijki, użycie klamerek nie jest koniecznie. Co do dodanej konstrukcji: parentNode - rodzic (czyli element wyżej) getElementsByTagName('img') - szukanie w elemencie elementu "img" [0] - użycie pierwszego znalezionego img'a 0 - pierwszy znaleziony img 1 - drugi znaleziony 2 - trzeci znaleziony itd. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 101 Pomógł: 1 Dołączył: 28.12.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
dzieki, masz u mnie piwo
![]() -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:44 |