Autor Zpráva
Casero
Profil
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
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
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 *
to je zvlastni, ja promenou z cyklu for bezne pouzivam...
peta
Profil
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
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
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
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
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]
Toto téma je uzamčeno. Odpověď nelze zaslat.

0