Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > красиво сохранять и читать переменные в Cookie


Автор: Leshak 3.11.2006, 16:56
может плохо искал, но не нашел..

итак:
Новый год близко - и я озаботился календарной сеткой на следующий год

http://www.walks.ru/calendar_year.html

но захотелось иметь возможность менять походу дела  цвета, шрифты и размеры, ну и год собственно...

проще всего положить выбранное в кук преревызвать и подставить сохраненное..
и вот Вопрос!
хочется положить в кук строчку из пар имя_переменной:значение
а выбирая строку - на автомате изменять  значения указанных переменных smile

Автор: 12345c 5.11.2006, 00:50
Похоже, слишком неопределённый вопрос, поэтому никто не отвечает. Хотите положить - кладите, кто мешает? Пользуются обычно самописной функцией getCookie , setCookie (ищите в поиске), а в языке есть только document.cookie . Возникнут вопросы - пишите.

Автор: Leshak 7.11.2006, 11:31
вопрос подробнее выглядит как-то так:

сначала взял от пользователя и положил в кук, а при перезапросе забрал из кука строку "bgcolor=#0000aa,color=#00aa00,...,...," в newSet
var newSetAray=newSet.split(',') ;
for ( var i ;  i < newSetAray.lenght ; i++ ) {
        eval ( newSetAray[i] ) ;
      }
но как-то это все неправильно...

Автор: 12345c 7.11.2006, 19:04
Ну прямо eval ( newSetAray[i] ) ; в данном примере работать не будет, но по идее именно так, если считать, что там операторы. Только следить предел куков в 4 КБа на всё, и если он откажется записывать строку большей длины, то что-то делать.

Автор: Leshak 8.11.2006, 11:32
Так в том-то и вопрос - как это сделать Правильно в JavaScript ?
в Perl я могу засунуть имя переменой в другую переменную и менять значение первой - а как менять значение переменной в JavaScript если я незнаю заранее ее имя?

Автор: 12345c 8.11.2006, 14:37
Так же, как в Perl - eval("a=b;")

Автор: Leshak 8.11.2006, 15:20
Цитата(12345c @ 7.11.2006,  19:04)
Ну прямо eval ( newSetAray[i] ) ; в данном примере работать не будет...

кхым... не понял!!! smile 
ну то есть совсем!!
то это работать не будет, то будет...
вобщем - у меня все равно не работает!
что-то не правильно в определении или заполнении массива


Код

    var dd = /,/
    var newSet = Get_Cookie( 'walksCalendar' );
       alert ( newSet );

    newSetAray = new Array();
    newSetAray = newSet.split(dd) ;
           alert ( newSetAray.lenght );
    for ( var i ;  i < newSetAray.lenght ; i++ ) 
    {
//            eval ( newSetAray[i] ) ;
           alert ( newSetAray[i]  );

          }


Автор: 12345c 8.11.2006, 16:41
split(dd) - если он  RegExp, то не надо ли /,/g ?
Не lenght , а length.

Добавлено @ 16:42 
Да, и переношу в раздел для начинающих, раз такие вопросы пошли smile

Автор: Leshak 8.11.2006, 18:45
АГА!!!
Спасибо, Дяденька!!  Заработало! 
вот Уважили - Подсказали!! smile
а я, ламмер, проглядел smile

осталось - немного - больше половины - редактор значений поставить

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)