URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 5283
[ Назад ]

Исходное сообщение
"как получить юзерскую последовательность checkbox в post форме"

Отправлено Dmitriy , 04-Окт-07 17:33 
Здравствуйте!

имеется страница со списком, каждая строка имеет checkbox (у каждого checkbox name и value уникальны) весь список в пост форме. Как при срабатывании пост формы получить юзерзкую последовательность отмечаний checkbox`ов? Например юзер отметил сначала восьмой checkbox а потом пятый затем нажал button и на выходе должна сформироваться страница со списком указанных checkbox`ов, где в первой строке будет значение восьмого checkbox а аво второй пятого checkbox? Предполагаю, что можно организовать на javascript путем выставления простой последовательности чисел при событии onClick, только с javascript туго. Подскажите как можно сделать или где почитать?  


Содержание

Сообщения в этом обсуждении
"как получить юзерскую последовательность checkbox в post фор..."
Отправлено XAnder , 05-Окт-07 09:20 
>имеется страница со списком, каждая строка имеет checkbox (у каждого checkbox name
>и value уникальны) весь список в пост форме. Как при срабатывании
>пост формы получить юзерзкую последовательность отмечаний checkbox`ов?

Не могу представить себе ситуацию, когда бы это могло понадобиться. Просветите, может быть найдется более изящное решение.

>Например юзер отметил сначала восьмой checkbox а потом пятый

А как вам такой пример: сначала отметил восьмой, потом пятый, потом первый, потом снял отметку с пятого и восьмого, потом отметил третий и пятый. И как здесь быть? Собирать информацию обо всех отметках/снятиях? А зачем?


"как получить юзерскую последовательность checkbox в post фор..."
Отправлено Dmitriy , 05-Окт-07 09:32 
вот ситуация:

есть необходимость периодически (несколько раз в месяц) рассылать по обычной бумажной почте какие-то бумаги по определённым адресам. Список адресов рассылки содержиться в БД.
И так заходим на страницу с этим списком адресов и отмечаем checkbox у тех адресов на которые нам принесли подготовленные и упакованные в конверты доки. Затем жмём button и формируется новая страница в которой есть только список тех кого отметили. Затем страница распечатывается и прилагается в качестве описи к конвертам для работника почты. Соответсвтенно на почте начинают возмущаться из-за того, что принесли 200 конвернов в одном порядке а список в описи отсортирован в другом (по названию или по id полю в БД в общем как угодно только не в порядке отмечания checkbox`ов)    



"как получить юзерскую последовательность checkbox в post фор..."
Отправлено Dmitriy , 05-Окт-07 10:09 
к стати забыл упомянуть о предложенной Вами последовательности

"А как вам такой пример: сначала отметил восьмой, потом пятый, потом первый,
потом снял отметку с пятого и восьмого, потом отметил третий и пятый. И как
здесь быть? Собирать информацию обо всех отметках/снятиях? А зачем?"

если ставить в качестве value у checkbox`ов последовательные номера начиная например с 1
(типа "если отмечен получи value = х++"), а при снятии(отмене) checkbox`а не уменьшать значение х (т.е. вообще ничего не делать), тог последовательно будет соблюдаться. В итоге в Вашей последовательности получиться страница со списком адресов у котрых value будут к примеру 3,4,5. Ну то есть те которые отметили и затем отменили - сохраняют за собой полученные значения.  


"как получить юзерскую последовательность checkbox в post фор..."
Отправлено XAnder , 05-Окт-07 13:22 
Превосходно! Вы же сами прекрасно понимаете, что нужно делать, и грамотно это описываете. А дальше - дело техники.

<input type=checkbox name=foo value=0 onclick="myFunc(this);">

var curValue = 0;
function myFunc (chb) {
        if (chb.checked) {
                curValue++;
                chb.value = curValue;
        }
}

Или что-то в этом роде (не проверял). Пробуйте.


"как получить юзерскую последовательность checkbox в post фор..."
Отправлено Dmitriy , 05-Окт-07 15:40 
Отлично!!!

всё замечательно работает, просто туго у меня с явой, я в принципе так и написал прежде как Вы подсказали, только в onClick ни каких аргументов не передавал и вместо chb.value, в функции, писал window.document.form.element.value=curValue++;

Спасибо большое!!!