Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.08.2017, 18:17
Новичок на форуме
Отправить личное сообщение для sanya300 Посмотреть профиль Найти все сообщения от sanya300
 
Регистрация: 22.08.2017
Сообщений: 5

реализовать блокировку кнопки на определенное время после клика
Подскажите, пожалуйста, как реализовать блокировку кнопки на определенное время после клика. Т.е., пользователь зашел на страницу, нажал на кнопку, информация ушла, а кнопка заблокировалась, на часов 20-ть. И перезагрузка страницы не снимала бы блокировку. Код кнопки <input type="submit" name="submit" class="button-normal active-gradient light-color dark-gradient-hover" value="{$L['change']}" id="submit" />
Заранее благодарен!
Ответить с цитированием
  #2 (permalink)  
Старый 22.08.2017, 18:25
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Один нажимает и у всех на 20 часов она блокируется?
Ответить с цитированием
  #3 (permalink)  
Старый 22.08.2017, 18:41
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

регистрация на сайте есть?
Ответить с цитированием
  #4 (permalink)  
Старый 22.08.2017, 18:47
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от sanya300
как реализовать блокировку кнопки на определенное время после клика
Сервер должен отвергать последующий прием, а по уму так вообще не выводить форму в течении этого времени.
Ответить с цитированием
  #5 (permalink)  
Старый 22.08.2017, 19:04
Новичок на форуме
Отправить личное сообщение для sanya300 Посмотреть профиль Найти все сообщения от sanya300
 
Регистрация: 22.08.2017
Сообщений: 5

дополню регистрация есть. кнопка
регистрация есть. кнопка расположена на странице редактирования объявления зарегистрированного пользователя и отправляет соответствующую форму. доска объявлений абсолютно бесплатная. но в ней не было реализована возможность поднятия объявлений самим пользователем. по просьбам трудящихся прикрутил возможность поднятия объявлений путем клика по кнопке редактирования. но начались злоупотребления. поэтому решил ограничить возможность поднятия временем. а вот как реализовать не знаю. неделю по форумам, но пока никак.
Ответить с цитированием
  #6 (permalink)  
Старый 22.08.2017, 19:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

sanya300,
В чем проблемы то? Во время T на сайте N пользователей, регистрированные они или нет не важно, коли всем блокировка. В момент времени Tₓ пользователь Nₓ отправляет форму. Это время пишется в базу. Любой последующий запрос формы, это проверка времени Tₓ + 20 часов, если не истекло, то прием отвергается.
Блокировать же кнопки сразу всем нельзя, можно только по запросу клиента, если Ajax, то по асинхронному запросу.
Ответить с цитированием
  #7 (permalink)  
Старый 22.08.2017, 19:26
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

sanya300,
состояние сохранять в базу к соответствующему объявлению, остальные средства cookie, storage и тд можно обойти.
Ответить с цитированием
  #8 (permalink)  
Старый 22.08.2017, 19:32
Новичок на форуме
Отправить личное сообщение для sanya300 Посмотреть профиль Найти все сообщения от sanya300
 
Регистрация: 22.08.2017
Сообщений: 5

всем пользователям кнопки блокировать и не нужно. нужно заблокировать конкретную кнопку, расположенную на странице редактирования конкретного объявления зарегистрированного пользователя. Чтобы было так, пользователь зашел в свой кабинет, затем перешел на страницу одного из объявлений, жмакнул изменить, изменения сохранились, объявление поднялось, а редиректом пользователя перекинуло на страницу с самим объявлением (редирект есть). Если же пользователь вернется на страницу с редактированием того же объявления, то кнопка будет заблокирована. В тоже время другие свои объявления поднять и отредактировать он сможет, но только по одному разу. В теории вроде как понятно, но как сделать кодом...
Ответить с цитированием
  #9 (permalink)  
Старый 22.08.2017, 19:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от sanya300
всем пользователям кнопки блокировать и не нужно.
Пишите время запроса для каждого пользователя (может я устал или провел не так, что-то "все" в уме держалось). С этим проблем нет? Сервер проверяя данное в базе может решить о кнопке/форме?

По большому счету в данном случае клиент боком с его JS, все должен решать сервер.
Ответить с цитированием
  #10 (permalink)  
Старый 22.08.2017, 19:38
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

sanya300,
Значит берете время изменения объявления (оно ведь меняется как я понимаю за счет чего и подымается) и текущее время и считаете разницу. Но если пользователь захочет действительно изменить объявление, то не хорошо его ограничивать в данном случае.

Последний раз редактировалось Rise, 22.08.2017 в 19:47.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Появление и исчезновение картинки(объекта) через определенное время. _D1m0n_ Общие вопросы Javascript 27 23.06.2015 15:16
Как сделать disabled кнопки во время отправки формы? Bad Request Events/DOM/Window 7 16.04.2014 13:49
Сделать кнопки без действенными на время анимации FredIkO Общие вопросы Javascript 3 06.06.2013 13:39
Повторное действие скрипта через определенное время fortitudo jQuery 8 27.01.2010 06:00
Нужно добавить блокировку ссылки на время выполнения скрипта aidka Events/DOM/Window 1 02.08.2009 20:11