![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 0 Dołączył: 10.06.2004 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Witam,
potrzebuje waszej pomocy, bo miałem zfobioną funkcję do zaznaczania wszystkich checkboxó i w zależnosci od tgo nie które submity miały być aktywne lub nie: Kod function selectAll(x,b) { if (typeof(x)=='string')x=document.getElementById(x); else { while(x=x.parentNode) { if (x.nodeName.toLowerCase()=='form')break;} } var ins=x.getElementsByTagName("input"); for(j=0;j<ins.length;j++) { if(ins[j].type.toLowerCase()=="checkbox") { ins[j].checked=b; document.ble.edytuj.disabled=!b; document.ble.usun.disabled=!b; document.ble.pokaz.disabled=!b; document.ble.ukryj.disabled=!b; } } } onload=function(i,x,t){with(document.ble){ edytuj.disabled=true; usun.disabled=true; pokaz.disabled=true; ukryj.disabled=true; for(i=0;t=elements['opcja[]'][i++];){t.onchange=function(){sprawdz();}} }} function sprawdz(t,i,s){with(document.ble){ for(i=0,s=!0;t=elements['opcja[]'][i++];){if(t.checked){s=0;break;}} edytuj.disabled=s; usun.disabled=s; pokaz.disabled=s; ukryj.disabled=s; }} i wywołuje to w ten sposób:
I musze to przerobić, żeby zamiast "BLE" była nazwa zmiennej podanej na poczatku skrpytu(czyli nazwa formularza). Tylko Jak to wszystko pogodzić w JS, tzn jak dodac do funkcji kolejną zmienną i zastąpić wszystkie ble zmiennymi? Nie znam się na JS dlatego prszę was o pomoc! -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kod zmienna = "BLE";
//code document.getElementByName(zmienna).edytuj.disabled=!b; //itd //code |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 0 Dołączył: 10.06.2004 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
możesz spróbowac zrobić pierwszy przykład bo coś mi nie wychodzi:/ Jak bede to widział to może zrozumiem.
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
pierwsza funkcja...
Kod function selectAll(formName, x,b) {
if (typeof(x)=='string') { x=document.getElementById(x); } else { while(x=x.parentNode) { if (x.nodeName.toLowerCase()=='form') { break; } } } var ins = x.getElementsByTagName("input"); for(j=0;j<ins.length;j++) { if(ins[j].type.toLowerCase()=="checkbox") { ins[j].checked=b; document.getElementByName(formName).edytuj.disabled=!b; document.getElementByName(formName).usun.disabled=!b; document.getElementByName(formName).pokaz.disabled=!b; document.getElementByName(formName).ukryj.disabled=!b; } } } |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 0 Dołączył: 10.06.2004 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
nie chce działać:/:
Kod <form name="Marki" action="panel.php" method="post"> <input type="button" onClick="selectAll(Marki,this,true)" value=" All "> Próbowałem tak wcześniej ale myślałem że źle robie, a tu jednak musi być wina czegoś innego:( -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.01.2006 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
To jest nazwa formularza, którą przekazujesz do funkcji więc musi byc w apostrofach lub cudzysłowiach, bez tego nie ma prawa działac.
Kod <form name="Marki" action="panel.php" method="post"> <input type="button" onClick="selectAll('Marki',this,true)" value=" All "> Poza tym pytanie jakiej przeglądarki używasz. Firefox ma bardzo dobre raportowanie błędów w javascripcie, dlatego go polecam - zresztą polecam go również z wielu innych względów ![]() Ten post edytował jpluzek 3.02.2006, 15:31:24 -------------------- Nigdy nie dyskutuj z kretynem. Najpierw sprowadzi Cię do swojego poziomu, a potem pokona doświadczeniem...
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 203 Pomógł: 0 Dołączył: 10.06.2004 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem tak jak radziłeś i dalej to samo:( Zaznacza tylko i wyłącznie 1 checkbox, a jest ich w sumie kilkanaście :/.
Firefoxem nie zgłasza żadnych błędów. Gdize jest błąd? ------------------------------------------- Postaowiłem wszystko cofnąc do pierowtnej postaci. Działało. Następnie zmieniłem zamiast ble dałem getElementByName(formName) i na początku tej funkcji formName = 'ble'; i ku mojemu zdziwieniu nie działa. Więc wniosek prosty: getElementByName(formName) trzba zastąpić czymś innym... tylko czym? ![]() ------------------------------------------- Doszedłem do wniosku, żę tak naprawdę ten kod z tym zmieniamiem nie jest do zanzaczania/odznaczania pól! To kawałek wczesniej: Kod if (typeof(x)=='string') { to jest prawdziwy kod odpowiedni za to! Jak ko zmienić, żeby był do okresleno formularza? BO mam na stronie 2 formularze i się sypie :/
x=document.getElementById(x); } else { while(x=x.parentNode) { if (x.nodeName.toLowerCase()=='form') { break; } } } Ten post edytował 3miel 3.02.2006, 22:19:25 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 21:56 |