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


Автор: iDrum 6.5.2006, 06:32
Задача: на странице допустим 30 чекбосков.Пользователь может отметить только 15.Нужно написать функцию (вызов по onclick на чекбоксе),которая бы автоинкрементировала переменную и загоняла её в куку;проверяем условие для переменой из куки >15 и выводим alert о предупреждение.
про сессионые куки для js что то ничего не нашёл. 

Автор: igorold 6.5.2006, 07:26
а зачем загонять переменную именно в куку?
можно просто ведь делать подсчет при выборе или снятии выбора чекбокса ...   

Автор: iDrum 6.5.2006, 08:33
а как тогда вы будете определять уменьшать или увеличивать переменную?ведь её нада будет где то хранить 

Автор: igorold 6.5.2006, 08:57
... ну ее можно каждый раз просто подсчитывать .... в цикле ...  

Автор: iDrum 6.5.2006, 09:20
кусочек кода бы,не могу понять аналитически 

Автор: igorold 6.5.2006, 09:51
Ну если у тебя эти чекбоксы с одинаковыми именами, то:
Код

<input type='checkbox' name='cat' value='Категория 1' onChange="Check(this.form)">Категория 1
<input type='checkbox' name='cat' value='Категория 2' onChange="Check(this.form)">Категория 2
<input type='checkbox' name='cat' value='Категория 3' onChange="Check(this.form)">Категория 3

Код

function Check(form)
{
Ind = 0;
for(i=0;i<form.cat.length;i++) 
{
  if(form.cat[i].checked==true) Ind++;
}
if (Ind>15) alert ("Превышено число выбраных ... :" + Ind );
}
 

Автор: iDrum 6.5.2006, 11:42
блин,я не подумал о том что ведь пользователь может ещё и поменять свой ответ,а при этом ind должен остаться не изменым..самое то имхо просто каждый клик считать кол-во галочек. 

Автор: igorold 6.5.2006, 12:37
Цитата(iDrum @ 6.5.2006,  11:42)
блин,я не подумал о том что ведь пользователь может ещё и поменять свой ответ,а при этом ind должен остаться не изменым..самое то имхо просто каждый клик считать кол-во галочек.

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

Автор: 12345c 6.5.2006, 12:50
iDrum, "сессионые куки" - это что-то типа "горячий лёд" (оксюморон). При использовании сессий в куках хранится только sessionId, зашифрованный на сервере, а все данные сессии - там же.

А в этой задаче куки отмечать излишне, всё и без того будет на странице.

Чтобы ещё сервер мог прочитать чекбоксы, имя надо задать как "cat[]", а в JS обращаться как (из той процедуры) form.getElementsByName("cat[]")[i]. 

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