Autor | Zpráva | ||
---|---|---|---|
Jim Profil * |
#1 · Zasláno: 31. 5. 2005, 22:24:23
Prosím Vás o radu. Mám formuláč a potřeboval bych při odeslání a novém otevření načíst z uložené cookie údaje zpět do formuláře aby je nemusel uživatel znovu vyplňovat. Zkoušel jsem něco podle návodů na webu, ale úspěchu jsem nedosáhl. Dík.
|
||
Leo Profil |
#2 · Zasláno: 31. 5. 2005, 22:48:46
Na to je idealni skriptovani na serveru (treba session v PHP), Leo
|
||
Yuhů Profil |
#3 · Zasláno: 1. 6. 2005, 01:41:41
To je lepší dělat v PHP:
pokud budeš mít formulář a v něm <input name="jmeno" ...>, tak při odesílání formuláře tím skriptem, který bude stránku zpracovávat, nastavíš kukinu <?php setcookie("jmeno", $_GET["jmeno"], mktime(0,0,0,1,1,2007)); ?> po opětovném načtení stránky s formulářem (která musí být také v PHP, si uložíš hodnotu cookie do proměnné: <?php $jmeno_z_kukiny =(isset($_COOKIE['jmeno'])?$_COOKIE['jmeno']:''); ?> a vyskládáš ten input pomocí PHP: <input name="jmeno" value="<?php echo $jmeno_z_kukiny ?>"> Javascriptem, pokud nemůžeš použít PHP, je to poněkud složitější. Cookie uložíš při odeslání formuláře <form onsubnit="ulozitCookie()" ...> <input name="jmeno" id="jmeno"> ... <script> function ulozitCookie(){ document.cookie = "jmeno=" + document.getElementById("jmeno").value + "; expires =Sun, 17-Jan-2038 19:14:07 GMT;path=/;" } </script> Malá pozámka k ukládání cookie: je to prasácké, v praxi samozřejmě je třeba lépe. Javascript dělá to, že si v dokumentu najde dané políčko, přečte si hodnotu a uloží ji do cookie jménem jmeno (nastaveno natvrdo). Platnost cookie je do skonání světa, tedy do roku 2038, v praxi se dá nastavit něco jiného. Path zaručuje, že cookie bude fungovat na celé doméně, ale kdyby to nefungovalo, tak se za to ještě dá připsat domain. Teď, jak tu cookie javascriptem přečíst: <form onsubnit="ulozitCookie() // nyní nepodstatné" ...> <input name="jmeno" id="jmeno"> <script type="text/javascript"> // funkce na rozkuchání kukin function hodnotaKukiny(nazevKukiny){ kukiny = document.cookie.split(";"); // rozřezávám řetězec kukin do pole for (i in kukiny){ // procházím pole kukin jednaKukina = kukiny[i].split("="); // rozřezávám kukinu do dvouprvkového pole if (jednaKukina[0] == nazevKukiny) hodnota=jednaKukina[1]; // jestliľe je to ta pravá kukina, vybírám její hodnotu z druhé poloľky pole za rovnítkem return hodnota; } } // naplnění příslušného políčka document.getElementById("jmeno").value = hodnotaKukiny("jmeno"); </script> Ani jeden příklad netestován! Hm, jejda, jak to tak po sobě čtu, to jsem z toho rovnou mohl udělat stránku o cookies. Tu ještě nemám. |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0