NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze – Lekce 21 - Dokončení editoru tabulek v JavaScriptu

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Odpovídá na koukalf
Michal Žůrek - misaz:13.12.2016 19:15

ta chyby mohla vzniknout ze dvou důvodů.¨

1.) aktivni buňka je undefined
2.) parent aktivni buňky je je undefined

Dá se to jednoduše vyzkoušet. Klikni do nějaké buňky a v nástrojích pro vývojáře (F12) do konzole zadej aktivniBunka a uvidíš co se vypíše. Pokud nějaký element, který se nachází v DOMu, tak je to dobrý pokud undefined, tak je to blbý a nefunguje ti obsluha kliknutí na políčko v buňce. Pokud by to vypsalo element, tak si ještě můřžeš zkusit vypsat

aktivniBunka.parentElement

a vyzkoušet totéž.

 
Odpovědět
13.12.2016 19:15
Avatar
Odpovídá na koukalf
Michal Žůrek - misaz:13.12.2016 19:16

když si stáhneš zip, který je pod článkem, tak tam je to kompletní a funguje to.

 
Odpovědět
13.12.2016 19:16
Avatar
koukalf
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
koukalf:13.12.2016 19:23

Je mi líto, ale né nefunguje, teď jsem to opět udělal, stáhl jsem zip, rozbalil. A nic klikám a nic se neděje a píše mi to tu stejnou chybu, nevím jak jinak to dokázat, ale prostě mě to nejede. Ani v Mozille ani v Chromu, mám Linux, ale to nesouvisí to víme oba. V konzoli mi to vypsalo input text jak by mělo, ale javascript mi nejede.

Odpovědět
13.12.2016 19:23
Kvalitní program je jako báseň, pokud do něj nevložíš um, tak se nedá číst.
Avatar
koukalf
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
koukalf:13.12.2016 19:26

Už to mám.....nechápu to, ale mám to - blokoval mě to AdbLock, teď jsem to zakázal a jede mi to. Takže pro příště Adblock zakázat, promiň že jsem tě zbytečně psal, ale tohle člověka nenapadne hned :D

Odpovědět
13.12.2016 19:26
Kvalitní program je jako báseň, pokud do něj nevložíš um, tak se nedá číst.
Avatar
Michal Ingr
Člen
Avatar
Michal Ingr:19.12.2016 13:00

Nebylo by lepší vkládat řádky pomocí

function PridejRadekNahoru() {
    var radek = vytvorRadek();
    tabulka.insertBefore(radek, aktivniRadek());
}
function PridejRadekDolu() {
    var radek = vytvorRadek();
    tabulka.insertBefore(radek, aktivniRadek().nextSibling);
}

kde

function aktivniRadek() {
    return aktivniBunka.parentElement.parentElement;
}

Nemusí se pak proiterovávat "pole" řádků, ani ověřovat, jestli přidáváme za poslední řádek...

 
Odpovědět
19.12.2016 13:00
Avatar
Odpovídá na Michal Ingr
Michal Žůrek - misaz:19.12.2016 17:39

kldině si to tak udělat můžeš, ale odhaduji, že minimálně vložení řádku dolů ti nebude na posledním řádku fungovat, protože aktivniRadek()­.nextSibling bude null.

 
Odpovědět
19.12.2016 17:39
Avatar
Michal Ingr
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
Michal Ingr:19.12.2016 17:58

Právě, že to funguje (zkoušeno tedy jen v Chrome, ale zítra zkusím i v jiných prohlížečích). Kdyby to nefungovalo, bylo by to potom možné ověřit podmínkou, pořád by však nebylo potřeba volání funkce na prototypu, které mi přijde docela nečitelné a pro začátečníka docela těžko pochopitelné.
Každopádně děkuji za rychlou reakci...

 
Odpovědět
19.12.2016 17:58
Avatar
Odpovídá na Michal Ingr
Michal Žůrek - misaz:19.12.2016 18:09

pakliže to funguje, tak to funguje jen na základě odsazení HTML a ten nextSibling je buď nějaký TextNode nebo něco podobného. kdybys nahradil nextSibling za myslím nextSiblingElement, tak to (pokud sis do tho ještě jinak nezasahoval) fungovat nebude.

 
Odpovědět
19.12.2016 18:09
Avatar
Michal Ingr
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
Michal Ingr:22.12.2016 11:52

Zkusil jsem i nextElementSibling a také to funguje. V navigaci jsem vycházel z tohoto: http://www.w3schools.com/…vigation.asp
Podle mě insertBefore() vloží element na poslední místo, pokud je druhý parametr null (zkoušel jsem v Chrome, IE11, Firefox).

 
Odpovědět
22.12.2016 11:52
Avatar
Pavel Šrytr
Člen
Avatar
Pavel Šrytr:26.2.2017 19:06

Jen tak ohrajově bych se chtěl zeptat, proč jsou funkce PridejRadekNahoru a PridejRadekDolu s velkými písmeny nazačátku ? Omlouvám se pokud jsem to přehlédl.

 
Odpovědět
26.2.2017 19:06
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 154.