Autor | Zpráva | ||
---|---|---|---|
Casero Profil |
#1 · Zasláno: 17. 12. 2006, 19:30:08
Na začátek, neznáte něco na netu o JS, krom JPW???
Můj problém -> snažím se o to, že po zaškrknutí jednoho z checkboxu se udělala tato fce function spocitat(){ pocitadlo1 = 0; for(var i = 0; i < 30; i++) { el=document.getElementById("chec"+i); if(el.checked) pocitadlo1++; } window.document.getElementById("poct").innerHTML = pocitadlo1; } která by měla spočítat kolik je zaškrklích checkboxu a vypsat to do tagu s id = poct, ale to nefunguje. Prosím mužete poradit. Případně jiné řešení??? |
||
Casero Profil |
#2 · Zasláno: 17. 12. 2006, 19:58:34
Tak po testování jsem zjistil, že chyba je zde el=document.getElementById("chec"+i); takže se chci zeptat jak správně spojit proměnou s textem???
|
||
Casero Profil |
#3 · Zasláno: 17. 12. 2006, 22:08:52
Už jsem to vyřešil, proměná z cyklu for "i", nelze použít v cyklu for, když jsem ji nahradil jinou, už to šlo, může mi někdo vysvětlit důvod???
|
||
Anonymní Profil * |
#4 · Zasláno: 18. 12. 2006, 10:04:42
to je zvlastni, ja promenou z cyklu for bezne pouzivam...
|
||
peta Profil |
#5 · Zasláno: 18. 12. 2006, 10:17:09 · Upravil/a: peta
Casero
Ten script je spravne, problem bude nekde jinde. Jedinou chybu, co vidim je, ze nemas definovane "el" Odkaz na stranku? Vypis s JS konzoli, proc "i" odmitlo? Mne to bez problemu funguje: function formDel(xValue) { var xForm = document.fdata; xForm.action = xValue; xForm.action.value = "del"; xForm.submit(); } function selInvert(xThis,m) {var i,j,f;f=document.fdata; for(i=0;i<m;i++) { j="ch"+i; if (f[j]) {f[j].checked=(f[j].checked)?"":"checked";} else {i=m;} } xThis.checked=""; } kde m je pocet checkboxu, protoze to pouzivam pro administraci a mi to vygeneruje treba 1-20 radku a tento pocet se meni. Na 21 prvek uz JS konzola vyhlasi chybu o neexistenci a cely script zkape a prestane fungovat. "neznáte něco na netu o JS, krom JPW?" spoustu http://www.volny.cz/peter.mlich/www.htm#msub8 |
||
Casero Profil |
#6 · Zasláno: 18. 12. 2006, 16:45:29
peta
Dík za tu literaturu, no už to mám řešený tou další poměnou..takže to nebudu vracet, abych to obzkoušel...ale dík PS: stejně nevím jak provést: Vypis s JS konzoli, proc "i" odmitlo? |
||
peta Profil |
#7 · Zasláno: 19. 12. 2006, 08:30:44
Casero
IE - dole zluty vykricnik - rozkliknout - zobrazit podrobnosti FF - Nastroje - chybova konzola (js konzola) O - Nastroje - JS konzola To je snad nejdulezitejsi vec, kdyz pracujes s JS. |
||
Casero Profil |
#8 · Zasláno: 19. 12. 2006, 15:36:00
peta
Tak chyba - je požadován objekt...a ukazuje to na řádek s for ( i = 0; i < 31; i++) { moc newím, co si pod tím představit, jinak opravdu s JS nejsu kamarád, takže JS konzoli nepoužívám... |
||
peta Profil |
#9 · Zasláno: 20. 12. 2006, 16:55:30
Ve skutecnosti je to tento radek:
el=document.getElementById("chec"+i); Coz by se poresilo odkazem na stranku. A jde o to, ze nejaky objekt "chec"+i neexistuje. To nastava shodou okolnosti v techto pripadech: 1. script je umisten v HEAD a spoustis jej pred zobrazenim obsahu BODY, cili jeste v HEAD na neexistujici BODY 2. do I se dostala nezadouci promenna redek pred tim el=... das toto: if (!Boolean(document.getElementById("chec"+i))) {alert("chec"+i);} ktere ti vypise nazev ID, ktere se pokousis otevrit v pripade, ze se otevreni nezdari. Pokud ti i tento radek hlasi problem, pak neexistuje document, nejspis nebo metoda getElementById if (!Boolean(document)) {alert("neexistuje dokument");} 3. do I se dostala zadouci promenna, ale dany objekt skutecne nikde neni (podobne [1]), pro detekci staci if z [2] |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0