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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отсчет времени в обратном направлении, по окончании времени надо блокировать  
:(
    Опции темы
liliputochka
Дата 30.3.2010, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всем привет!
 Я полный ноль в javascript. У меня задача такая:
на страницу вывести время и начать обратный отсчет времени. При окончании времени нужно сгенерировать нажатие кнопки submit.

Я бы не раздумывая начала изучать мануалы этого языка, но у меня нет времени - начальник требует сдачу проекта сегодня-завтра.
Помогите пожалуйста!!!
PM MAIL   Вверх
skyboy
Дата 30.3.2010, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



отправка формы через указанное время:
Код

setTimeout(function() {document.getElementById("<id формы>").submit();}, <время в милисекундах>);

часы для обратного отсчета поискай в интернетах - библиотека не должна быть сложной, но все же неохота писать с нуля то, что наверняка уже реализовано. т.о. отсчет времени на часах и отправка формы будут независимы друг от друга.
и ещё: если отправка происходит не в локальной сети, то ничего не помешает посетителю нажать на "стоп" и отменить отправку. или повторить отправку. или вообще отключить javascript.
потому, если к примеру, у тебя какое-то тестирование, критичное к обманщикам, лучше дополнить проверкой на стороне сервера.
PM MAIL   Вверх
liliputochka
Дата 30.3.2010, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо за совет и за код!

Вы как в воду глядели - у меня как раз тест! Как реализовать 
Цитата(skyboy @  30.3.2010,  10:29 Найти цитируемый пост)
проверкой на стороне сервера.
 ?

PM MAIL   Вверх
bars80080
Дата 30.3.2010, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



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

конкретная реализация зависит от серверного языка
PM MAIL WWW   Вверх
skyboy
Дата 30.3.2010, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



...однако, есть вопрос о скорости передачи: если медленное соединение, то может получиться, что человек думал 5 секунд, но данные ещё 5 секунд передавались...
PM MAIL   Вверх
bars80080
Дата 30.3.2010, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



тогда лучше делать на флеше
PM MAIL WWW   Вверх
skyboy
Дата 30.3.2010, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



ну, я думаю, все зависит от порядка таймаута. если 10 и более секунд на вопрос - то можно просто отсчитывать на клиенте 10 секунд, а на стороне сервера допускать до 11 секунд времени на ответ.
а если 1-2 секунды, то такое есть смысл реализовывать только в локальной сети.
PM MAIL   Вверх
liliputochka
Дата 31.3.2010, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Большое вам ВСЕМ спасибо за помощь!!!

Добавлено через 14 минут и 40 секунд
Может кто-нибудь еще подскажет:

я выбираю из базы время ( время в базе храниться в формате ЧЧ:ММ:СС ). При выборке использую php, соответственно переменная содержащая время php-шная. Как мне передать время в javascript?
PM MAIL   Вверх
bars80080
Дата 31.3.2010, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Код

var t = '<?php echo $time; ?>'; // ЧЧ:ММ:СС
var t1 = t.split(':');
var date = new Date();
date.setHours(t1[0]);
date.setMinutes(t1[1]);
date.setSeconds(t1[2]);

PM MAIL WWW   Вверх
liliputochka
Дата 4.4.2010, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Благодарю bars80080!

С праздником вас!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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