Javascript.RU

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

Поменять свойство disable в зависимости от времени.
Добрый день! Я новичек и мне нужна помощь.
У меня есть форма с кнопкой. Как сделать данную кнопку активной в определенное время каждый день? Например кнопка всегда неактивна, кроме с 16 00 до 17 00 каждый день
<form action="" method="post">

<input type="hidden" name="do" value="payeer_pay">
<input type="hidden" name="antipovtor" value="<?=time();?>">


<table width="930" height="21px" border="0" cellpadding="0" cellspacing="0">
<tbody><tr>
<td align="center">



<br><b>Введите сумму вклада (от <?=$mindep?> до <?=$maxdep?> рублей) </b> <br> <br><input style="text-align:center;" name="m_amount" type="text" value="100" size="5" maxlength="10"><input type="submit" name="submit2" value="Сделать вклад" class="reg"></td>
</tr>

Пробовал вот этот способ переделать, но не получилось

<script>

$(function() {
// установить кнопки свойство disabled, равное true (т.е. сделать её не активной)
$('input[type="submit"]').prop('disabled', true);
// при отпускании клавиши, проверить значение данного поля
$('input[name="m_amount"]').keyup(function() {
// если значение не равно пустой строке
if($(this).val() != '') {
// то сделать кнопку активной (т.е. установить свойству disabled кнопки значение false
$('input[type="submit"]').prop('disabled', false);
}
});
});
</script>
С пустым значением работает.
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2018, 09:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

hacklife,
это ограничение лучше сделать на сервере, любой сможет отменить 'disabled' на клиенте, и время на клиенте у каждого своё
Ответить с цитированием
  #3 (permalink)  
Старый 07.08.2018, 09:07
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
	<input type="submit" name="submit2" value="Сделать вклад" class="reg">
	<script>
		$(function(){
			var date = new Date();
			(function dis(){
				$('input[type="submit"]').prop('disabled', date.getHours() !== 16);
				setTimeout(dis,1000);
			})();
		});
	</script>


но лучше сервер, переведите на компе время и кнопка станет активной
Ответить с цитированием
  #4 (permalink)  
Старый 07.08.2018, 10:20
Новичок на форуме
Отправить личное сообщение для hacklife Посмотреть профиль Найти все сообщения от hacklife
 
Регистрация: 07.08.2018
Сообщений: 7

Сообщение от j0hnik Посмотреть сообщение
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
	<input type="submit" name="submit2" value="Сделать вклад" class="reg">
	<script>
		$(function(){
			var date = new Date();
			(function dis(){
				$('input[type="submit"]').prop('disabled', date.getHours() !== 16);
				setTimeout(dis,1000);
			})();
		});
	</script>


но лучше сервер, переведите на компе время и кнопка станет активной
Как можно сделать проверку на сервере?
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2018, 10:23
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

if(date('H')==16){
    //do something
};
Ответить с цитированием
  #6 (permalink)  
Старый 07.08.2018, 11:00
Новичок на форуме
Отправить личное сообщение для hacklife Посмотреть профиль Найти все сообщения от hacklife
 
Регистрация: 07.08.2018
Сообщений: 7

Сообщение от Nexus Посмотреть сообщение
if(date('H')==16){
    //do something
};
Можно на примере выше показать как встроить эту проверку? И ещё: как заблокировать отправку формы по нажатию Enter? Буду премного благодарен.
Ответить с цитированием
  #7 (permalink)  
Старый 08.08.2018, 07:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

hacklife, if(date('H')==16) будет означать, что условие для для всех клиентов определяется временем сервера. Блокировать кнопку можно, а можно вообще не выводить на страницу форму. Но так или иначе этого мало, обмануть при желании всегда можно, а значит блокирование, это чисто для клиента, а сервер же должен всегда проверять время при приеме формы и не принимать ее если не соблюдается условие.
Ответить с цитированием
  #8 (permalink)  
Старый 08.08.2018, 09:46
Новичок на форуме
Отправить личное сообщение для hacklife Посмотреть профиль Найти все сообщения от hacklife
 
Регистрация: 07.08.2018
Сообщений: 7

Сообщение от laimas Посмотреть сообщение
hacklife, if(date('H')==16) будет означать, что условие для для всех клиентов определяется временем сервера. Блокировать кнопку можно, а можно вообще не выводить на страницу форму. Но так или иначе этого мало, обмануть при желании всегда можно, а значит блокирование, это чисто для клиента, а сервер же должен всегда проверять время при приеме формы и не принимать ее если не соблюдается условие.
Доброе утро! Я это понимаю. Проблема в том что пытаюсь прописать условие, и ограничение не работает. Ограничение по времени клиента работает. Возможно я что-то неверно делаю.
Ответить с цитированием
  #9 (permalink)  
Старый 08.08.2018, 10:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от hacklife
Ограничение по времени клиента работает.
Каким образом сервер будет знать о времени клиента?
Ответить с цитированием
  #10 (permalink)  
Старый 08.08.2018, 11:44
Новичок на форуме
Отправить личное сообщение для hacklife Посмотреть профиль Найти все сообщения от hacklife
 
Регистрация: 07.08.2018
Сообщений: 7

Я имею ввиду данный вариант работает. А мне нужно что бы для любого часового пояса было одинаково, по времени МСК.
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

    <input type="submit" name="submit2" value="Сделать вклад" class="reg">

    <script>

        $(function(){

            var date = new Date();

            (function dis(){

                $('input[type="submit"]').prop('disabled', date.getHours() !== 16);

                setTimeout(dis,1000);

            })();

        });

    </script>

Последний раз редактировалось hacklife, 08.08.2018 в 11:47.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поменять цвет Checkbox в зависимости от ситуации kz___alex Элементы интерфейса 8 28.10.2015 13:16
В зависимости от локального времени меняется задний фон Tchort Events/DOM/Window 3 09.08.2011 18:21
Как поменять свойство плагина? lyapharov jQuery 2 16.04.2011 19:39
Как в общем меню для всех страниц поменять класс определенного пункта в зависимости о phenom Элементы интерфейса 2 08.04.2011 11:09
Поменять background в зависимости от урл faith80 Общие вопросы Javascript 2 30.08.2010 21:27