Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранять checked при перезагрузке страницы 
:(
    Опции темы
ggdan
  Дата 21.11.2006, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.11.2006

Репутация: нет
Всего: нет



Товарищи, подскажите начинающему, как решить такую задачку.

Есть форма
Код

<form action='index.html' method='post' name='boxform'>
    <input type='checkbox' name='boxname' value='имя_1' id='1'><a onclick='setCheck()' href='index.html'>Name_1</a><br>
    <input type='checkbox' name='boxname' value='имя_2' id='5'><a onclick='setCheck()' href='index.html'>Name_2</a><br>
    <input type='checkbox' name='boxname' value='имя_3' id='7'><a onclick='setCheck()' href='index.html'>Name_3</a><br>
    <input type='checkbox' name='boxname' value='имя_4' id='3'><a onclick='setCheck()' href='index.html'>Name_4</a><br>
    <input type='checkbox' name='boxname' value='имя_N' id='12'><a onclick='setCheck()' href='index.html'>Name_N</a><br>
</form>


задача в том, чтобы при перезагрузке страницы (например при нажатии на ссылку), отмеченные checkbox сохраняли свойство checked и не сбрасовались, аналогично и при снятии галочки. smile 

Делаю след. образом, пробигаюсь по всем объектам типа checkbox и проверяю если выбрана, то пихаю значение id в массив setboxes. 

Код

function setCheck(){
   checkboxes=document.getElementsByName("boxname");

   var setboxes=new Array() // Массив в котором будем храним значения атрибута id выбраных checkbox

   var boxCount = 0;

   for (i=0;i<checkboxes.length;i++) {
      if (checkboxes[i].checked) {
         setboxes[boxCount]=checkboxes[i].getAttribute("id"); //Забиваем id
         boxCount++;
      }
   }


}


Потом при загрузке страницы нужно поставить checked тем checkbox значение id которых содержаться в массиве. Что-то типа этого...

Код

for (i=0;i<setboxes.length;i++) {
 document.boxform.boxname.getElementById("setboxes[i]").checked=true
}


Как это сделать правильно я что-то никак не придумаю, подскажите? smile 

PM MAIL   Вверх
boombick
Дата 21.11.2006, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.4.2005
Где: Moscow, Russia

Репутация: нет
Всего: 9



Используй AJAX для моментальной отправки данных на сервер... Ибо все переменные JS, получившие значения в ответ на действие пользователя живут только до перезагрузки...


--------------------
Все вышесказанное - имхо, и на истину в последней инстанции не претендует
------
UNIX and other
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 21.11.2006, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Имхо, без "подвязок" на стороне сервера единственная возможность сохранять состояние - это куки. О том, как сохранять в них и читать из них данные, на этом форуме сказано достаточно...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
12345c
Дата 21.11.2006, 04:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 57
Всего: 101



Нет, ещё поля форм хранят данные при перезагрузках, но не в Опере.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.