Autor Zpráva
Fisir
Profil
Ahoj,
snažím se zprovoznit funkci, že když uživatel změní obsah <textaera> tak se hodnota uloží do localStorage. To funguje. Ale když ji chci přečíst a zapsat do formuláře, to už nefunguje.

Kód obou funkcí:
function zapamatuj(){ // Zapamatování, funguje
if (localStorage) {
    var nazev = 'dja_prispevek';
    var hodnota = document.getElementById('postText').value;
    localStorage.setItem(nazev, hodnota);
};
};
function vzpomen(){ // Obnovení, nefunguje
    if (localStorage) {
    var formular = document.getElementById('postText');
    var nazev = 'dja_prispevek';
    var prispevek = localStorage.getItem(nazev);
    formular.innerHTML = prispevek;
};
};
vzpomen();

Kód <textaera>:
<textarea name="postText" id="postText" class="textForm postingForm" tabindex="2" onFocus="schovejpozn()" onChange="zapamatuj()">{$postText}</textarea>

Nevíte co s tím je a jak to zprovoznit?
Str4wberry
Profil
Nevoláš náhodou funkci vzpomen v momentě, kdy ještě není <textarea> na světě?
Fisir
Profil

Reaguji na Str4wberryho [#2]:

Ach jo, máš pravdu. A já si tu nad tím lámu hlavu snad 2 hodiny. Díky moc.
Chamurappi
Profil
Reaguji na Fisira:
if (localStorage)
Co očekáváš, že dělá tato podmínka?

Mimochodem, nadpisy nejsou zamýšleny k nadepisování reakcí. Stejně jako kotva #najdi není zamýšlena k doplňování odkazů na o kousek výš citované texty.
Fisir
Profil

Reguji na Chamurappiho [#4]:

Co očekáváš, že dělá tato podmínka?#
Zjistí, jestli je dostupné localStorage.

K tvé poznámce: jenže, mně se to líbí.
_es
Profil
Fisir:
Zjistí, jestli je dostupné localStorage.
No ale ak prehliadač localStorage nepodporuje, tak vznikne chyba.
Ak to chceš otestovať bez vyvolania výnimky, tak treba použiť napríklad if(window.localStorage).

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:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0