Autor Zpráva
metalmaus
Profil
Je možné, že v cookies nelze uložit dvouřádkový text?
Na jedné stránce ukládám proměnné, přičemž v text je dvouřádkový obsah <textarea>
document.cookie = "text=" + text;
console.log (text);
a konzole mi ty 2 řádky v proměnné text ukáže, ale v cookie text je pouze řádek první!?
peta
Profil
metalmaus: a zakodoval jsi znak \n?
Enko
Profil *
A co raději používat SESSION?
jenikkozak
Profil
To v JS nepůjde udělat jednoduše. Navíc pak budeš závislý na serveru, což se samotným JS nejsi.
Davex
Profil
metalmaus:
Do cookie ukládej hodnotu ošetřenou funkcí encodeURIComponent. Při čtení dekóduj inverzní funkcí.
metalmaus
Profil
SESSIONs je PHP a já chtěl používat čistě jen JS. Pochopil jsem to tak, že opravdu takhle jednoduše nelze víceřádkový text do cookies vkládat. Zkusil jsem encodeURIComponent, ale nepomohlo. Do cookies se mi opět uloží pouze první řádek. Nikde u těhle URI funkcí v popisu nevidím, že by uměly pracovat s řádkováním.
peta
Profil
Mozna by bylo dobre konecne priklady na javascript opravit a dat tam poradny priklad na cookies :) Samozrejme, kdyby misto dotazu na foru zagoogloval, tak to behem 5 minut zjisti sam, ze se to musi cela hodnota escapovat. \n se pouziva pro oddeleni cookies podobne jako radky tabulky v csv formatu.
http://peter-mlich.wz.cz/web/js/prjpw/cookies.html

https://developer.mozilla.org/en-US/docs/Web/API/document.cookie
    document.cookie = escape(sKey) + "=" + escape(sValue) + sExpires + (sDomain ? "; domain=" + sDomain : "") + (sPath ? "; path=" + sPath : "") + (bSecure ? "; secure" : "");
metalmaus
Profil
věr mi že jsem googloval několik dní v češtině i angličtině, ale nejspíš jsem se guglu špatně ptal :| Každopádně díky za nasměřování. O tom, že /n se používá na oddělování cookies jsem nevěděl.
Každopádně mi console.log výpíše to samé před i po escape (text), takže jsem použil jednoduše text.replace( "/n", "<br>"). Díky peta!

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Prosím používejte diakritiku a interpunkci.

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