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 |
#2 · Zasláno: 10. 10. 2009, 14:47:10 · Upravil/a: _es
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]*/} |
||
Misak-H Profil * |
#3 · Zasláno: 10. 10. 2009, 16:40:57
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. |
||
Časová prodleva: 15 let
|
0