Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужна помощь в доработке скрипта (https://javascript.ru/forum/misc/42365-nuzhna-pomoshh-v-dorabotke-skripta.html)

zonkon 23.10.2013 16:46

Нужна помощь в доработке скрипта
 
Помоги пожалуйста доработать скрипт. Есть кука "block" со значением "yes" или "no". Нужно чтобы при значении "yes" высвечивалось 'привет', а при значении "no" или отсутствии самой куки "block" высвечивалось 'пока'. В моем скрипте при любых условиях высвечивается 'привет'. ЧТО НУЖНО ДОРАБОТАТЬ???

<SCRIPT LANGUAGE="JavaScript">

function getcookie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}

var block = getcookie( block);
if ( block=="block","yes" )
{
alert('привет');
}
else
{
alert('пока');
}

</SCRIPT>

ksa 23.10.2013 20:03

Цитата:

Сообщение от zonkon
ЧТО НУЖНО ДОРАБОТАТЬ?

Саму структуру
if () {} else {};

Ну и условия конечно... :)

Цитата:

Сообщение от zonkon
block=="block","yes"

Что это за условие такое? :blink:

http://javascript.ru/comparison-operators
http://javascript.ru/boolean-operators
Тут таких нет... :no:

zonkon 24.10.2013 01:08

Цитата:

Сообщение от ksa (Сообщение 277836)
Саму структуру
if () {} else {};

Ну и условия конечно... :)


Что это за условие такое? :blink:

http://javascript.ru/comparison-operators
http://javascript.ru/boolean-operators
Тут таких нет... :no:

А можно немного разъяснить по структуре что не так.
а по условию пробовал задать
if ( block=="yes" )
при этом кука имеет значение "yes", но алерт говорит о несоответствии...

zonkon 24.10.2013 10:20

Попробовал решить задачу через определение наличия куки
function getCookie(block) { var matches = document.cookie.match(new RegExp("(?:^|; )" + block.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"));
}

 var block = document.cookie.indexOf(block);
 if ( block !=-1 )
 {
 alert('привет');
 }
 else
 {
 alert('пока');
 }

но при любых условиях выдает значение -1.
ЧТО Я ДЕЛАЮ НЕ ТАК???

ksa 24.10.2013 10:21

Цитата:

Сообщение от zonkon
кука имеет значение "yes", но алерт говорит о несоответствии...

Значит ты ошибаешся...

Бивас, тест! (с)

var block='yes';
if (block=='yes') {alert('Ok')};

zonkon 24.10.2013 15:31

А если запись куки делается на другой странице, т.е.
страница 1 имеет скрипт
<SCRIPT LANGUAGE="JavaScript">
document.cookie = "block=yes";
</SCRIPT>

и кука заносится без проблем. смотрю в браузере куки и она там есть

а на странице 2 идет поиск наличия этой же куки, но когда я задаю
function getCookie(block) { var matches = document.cookie.match(new RegExp("(?:^|; )" + block.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"));
}
 var block = document.cookie.indexOf(block);
 if ( block !=-1 )
 {
 alert('привет');
}
 else
 {
 alert('пока');
 }
...
он при любых условиях выдает что куки нет...
Я даже не знаю что делать:(

ksa 24.10.2013 15:35

Цитата:

Сообщение от zonkon
он при любых условиях выдает что куки нет

В твоем огрызке кода нет определения значения для переменной block...

Цитата:

Сообщение от zonkon
Я даже не знаю что делать

Таки определить значение той переменной block

zonkon 24.10.2013 15:37

А как это сделать?
Я никогда раньше не занимался программированием...

ksa 24.10.2013 15:40

Цитата:

Сообщение от zonkon
Я никогда раньше не занимался программированием...

1. Пора начать
2. Забить на это

zonkon 24.10.2013 15:44

Не могу. Мне нужно организовать сайт для ТСЖ. Нанять спеца нет возможности в виду отсутствия денег. Вот ковыряюсь сам. А понимать такое уже возраст не позволяет...


Часовой пояс GMT +3, время: 23:47.