Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 21. diel - Dokončenie editora tabuliek v JavaScripte

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Odpovedá 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éž.

Avatar
Odpovedá 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.

Avatar
koukalf
Člen
Avatar
Odpovedá 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.

Odpovedať
Kvalitní program je jako báseň, pokud do něj nevložíš um, tak se nedá číst.
Avatar
koukalf
Člen
Avatar
Odpovedá 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

Odpovedať
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...

Avatar
Odpovedá 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.

Avatar
Michal Ingr
Člen
Avatar
Odpovedá 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...

Avatar
Odpovedá 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.

Avatar
Michal Ingr
Člen
Avatar
Odpovedá 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).

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.

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 161.