Блокировние кнопки после нажатия на 10мин.
Здравствуйте! Стоит задача реализовать такую схему:
На сайте делается обычная кнопка, при нажатии на которую она становится неактивной на 10 минут. (на кнопке идет обратный таймер, после которого она вновь становится активной). При нажатии на кнопку необходимо каким то образом выполнить переход на другой скрипт (страница при этом не должна меняться, сайт открывается этот же, переход на обычный php скрипт) грубо говоря идет запрос на скрипт, который занимается постановкой задач..подскажите как реализовать простейший пример..может кто то примеры видел.:) |
Вот что я пытался реализовать: http://learn.javascript.ru/play/sLeMjc
нужно сделать чтобы таймер продолжал работать в своем режиме после обновления страницы и после его отчета (если страницу юзер не закрыл) таймер вновь вставл на нужное время и ничего не считал пока не нажмут кнопку.. Сразу после нажатия на кнопку "обновить статистику" нужно как то скрыто запускать нужный скрипт В данный момент скрипт обновляет страниц и идет сброс..нужно подключать куки - как не знаю..прошу помощи <script> function simple_timer(sec, block, direction) { var time = sec; direction = direction || false; var hour = parseInt(time / 3600); if (hour < 1) hour = 0; time = parseInt(time - hour * 3600); if (hour < 10) hour = '0' + hour; var minutes = parseInt(time / 60); if (minutes < 1) minutes = 0; time = parseInt(time - minutes * 60); if (minutes < 10) minutes = '0' + minutes; var seconds = time; if (seconds < 10) seconds = '0' + seconds; block.innerHTML = hour + ':' + minutes + ':' + seconds; if (direction) { sec++; setTimeout(function () { simple_timer(sec, block, direction); }, 1000); } else { sec--; if (sec > 0) { setTimeout(function () { simple_timer(sec, block, direction); }, 1000); } else { alert('Время вышло! сделали кнопку активной, вернули таймер'); document.getElementById("knopka").disabled = false; } } } function start_countdown() { document.getElementById("knopka").disabled = true; location.reload(); alert('Статистика обновлена'); var block = document.getElementById('online'); simple_timer(10, block); } </script> Статистику можно обновить через: <span id="online">00:10:00</span> сек. <input type="button" id="knopka" value="Обновить статистику" onclick="start_countdown()" /> |
alerzo, решение должно быть устойчиво к "взлому"? Допустим если юзер откроет консоль и из нее запустит нужную функцию - это допустимо? То есть в таком случае негативные последствия будут для тебя или для юзера (сам дурак если так сделает)? Или их вообще не будет?
|
Обновление статистики происходит при переходе на скрипт..ничего более юзер сделать не сможет..кроме как "обдурить" кнопку и снять лимит..но это не является обязательным..
|
Вместо кук сначала сделай на localStorage - пиши туда время старта таймера. При обновлении страницы - читай его оттуда и продолжай отсчет (за вычетом уже пройденного времени) или че там у тебя.
Запуск скрипта php - дергай его через XMLHttpRequest (гугли если не знаешь че это) |
Требуется помощь! Не разобрался как сделать
|
Показывай че есть.
|
все что есть вверху..необходимо чтобы нажималась кнопка "обновить статистику" после этого на кнопке был таймер обратного отчета и кнопка была неактивной -в этот момент и был запрос к скрипту..(после истечения времени кнопка вновь становилась активной и с начальным временем таймера
|
Ок, с чем именно возникли проблемы?
|
с завершением:) собственно плохо разбираюсь во всем этом.
|
Часовой пояс GMT +3, время: 08:43. |