Autor Zpráva
Xerxes
Profil
mám podmínku
if (document.getElementsByTagName("td")[q].innerHTML == null)
stránka mi vypisuje
Uncaught TypeError: Cannot read property 'innerHTML' of undefined
ale já potřebuji zajistit aby jsem do tagu <td></td> mohl zapsat pouze pokud je buňka prázdná
ví někdo jak napsat podmínku aby se nedalo napsat do tagu <td> něco pokud už je v něm pomocí
document.getElementsByTagName("td")[q].innerHTML
něco vloženo?
děkuji za pomoc
Keeehi
Profil
Problém je, že se snažíš zjišťovat vlastnost neexistujícího objektu. getElementsByTagName vrací pole objektů a ty z něj pomocí [q] vybíráš jeden. Ovšem tento výběr se nepodaří, protože buď q je větší jak pole, nebo se nic nenašlo a vrátilo se tedy prázdné pole.

A dále bych řekl, že pro prázdnou buňku nevrací null ale prázdný řetězec, takže ""
Xerxes
Profil
Děkuji stačilo nahradit null prázdným řetězcem"" a už to funguje
lionel messi
Profil
Xerxes:
Pokiaľ je bunka prázdna, document.getElementsByTagName("td")[q].innerHTML bude prázdny reťazec a nie null. V samotnej podmienke problém nevidím, nedodal si živú ukážku.

Pardon, po funuse.
Xerxes
Profil
děkuji až to bude v provozu tak to sem přidám celé aby jste se mohli podívat ;)
Chamurappi
Profil
Reaguji na Xerxese:
Děkuji stačilo nahradit null prázdným řetězcem"" a už to funguje
Nestačilo. Hláška říká, že nejde číst innerHTML na objektu document.getElementsByTagName("td")[q], protože ten objekt neexistuje. Na výskyt této chyby nemá žádný vliv, co je na pravé straně porovnání shody. Pokud ti chybová hláška zmizela, musí to mít jinou příčinu.
Keeehi
Profil
Xerxes:
Děkuji stačilo nahradit null prázdným řetězcem"" a už to funguje
To rozhodně nemohlo opravit tu chybu, kterou zmiňuješ v prvním příspěvku. Buď jsi to mezitím opravil, nebo se jen schovala.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0