Autor Zpráva
Misak-H
Profil *
Už se s tím trápím a nevím co zkusit dál.
Smičkou tvořím název proměnné a její hodnotu chci zapisovat do Cookies, ale pokud zadám do parametru pro zápis v document.cookie ten vytvořený název proměnné, nefunguje to. Místo hodnoty proměnné to zapíše její název.
Vytvořil jsem si jednoduchý testovací kód, na kterém to zkouším:

A = Proměnná jejíž název se vytváří a zapisovat by se měla hodnota, což nefunguje.
B = je proměnná pevně daná a zapisuje se její hodnota.

<script type="text/javascript">
rozsekaneCookies=document.cookie.split("; ")
poleCookies= new Array;
for(i in rozsekaneCookies){poleCookies[(rozsekaneCookies[i].split("=")[0])] = rozsekaneCookies[i].split("=")[1];}

var T40, T41, T42, T43, T44, T45, T46, T47, T48, T49, T410, T411, T412;

T40 = 821; // testovací hodnoty proměnných
T41 = 825;
T42 = 828;


for (i=1; i <= 12; i++) { //Výpis obsahu Cookise před zápisem
document.write("Hodnota historie T4"+i+" je: " + poleCookies["T4"+i+""] + "<br\>");
}

for (i=12; i>=1; i--) { // Vlastní smička zápisu hodnot do Cookies
 var A = "T4"+(i-1);    // Toto nefunguje, do A se uloží název proměnné a ne její hodnota jako u "B"
 var B = T40;
document.write("i: "+i+" - A a B je: "+A+" - "+B+"<br\>");  //Kontrola zapisovaných proměnných.
document.cookie = "T4"+i+"="+A+";";
}
for (i=1; i <= 12; i++) { //Výpis obsahu Cookise po zápisu
document.write("Hodnota historie T4"+i+" je: " + poleCookies["T4"+i+""] + "<br\>");
}
</script> 


Jak donutit "A" načíst hodnotu vytvořeného názvu proměnné ??

Nevíte ?? Díky M.
_es
Profil
Misak-H
Jak donutit "A" načíst hodnotu vytvořeného názvu proměnné ??

To sa síce dá, no neporadím ti to, lebo sa to tak nemá robiť, ale sa má použiť správnym spôsobom objekt alebo pole.
Už skôr ti Chamurappi radil, že to nepoužívaš správne.
Síce to nejako funguje, lebo aj pole je objekt, no máš v tom asi chaos.
var o = {}; // alebo var o = new Object;
o.vlastnost1 = nejaka_hodnota; // alebo:
o["vlastnost2"] = ina_hodnota;
for(i in o){/*nejaký kód pracujúci so všetkými vlastnosťami objektu prostredníctvom o[i]*/}
var p = []; // alebo var o = new Array;
p[0] = prva hodnota;
p[1] = druha_hodnota;
for (i=0; i <= p.length; ++i){/*nejaký kód pracujúci so všetkými prvkami poľa prostredníctvom p[i]*/}
Metóda split vracia pole.
Misak-H
Profil *
Díky za radu, chaos v tom mám, to máš naprostou pravdu. Ale učím se :-)
Jdu si rozpitvat příklad od tebe a pokusím se jej pochopit proč to tak je.
Díky M.

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: