JS устанавливает минимальную дату для даты ввода HTML с IF - PullRequest
0 голосов
/ 06 февраля 2019

Извините за мои ошибки, но я очень нуб: D Я должен установить минимальную дату во вводе в HTML с IF: IF сегодня> 01-06-2019 установить мин. Сегодня ELSE установить мин. 01-06-2019 Кто-нибудь может мне помочь?Это мой код:

function setMin1() {
	var varData = new Date('01-06-2019'); //dd-mm-YYYY
	var today = new Date();
	today.setHours(0,0,0,0);

	if(varData >= today) {
		document.getElementById('set').min = '01-06-2019';
	}
	else {
		document.getElementById('set').min = '<?php echo date('d-m-Y');?>';
	}
}

Ответы [ 3 ]

0 голосов
/ 06 февраля 2019

Это не сработает, потому что вы передаете строку на ваш вход.Номер вашего типа ввода.Вместо этого вы можете использовать тип данных.

0 голосов
/ 07 февраля 2019

Я предполагаю, что ввод имеет тип дата .Вы можете установить минимальное значение с помощью атрибута min, например,

<input type="date" name="someDate" min="2019-01-01">

. Обратите внимание, что в HTML дата в формате ISO 8601 будет считаться локальной, но при анализе встроенным синтаксическим анализатором ECMAScript будет обрабатыватьсякак UTC.

Если вы устанавливаете значение с помощью скрипта, вы полагаетесь на точность часов хост-системы.Значение может быть установлено с помощью setAttribute :

window.onload = function(){

  var d = new Date();

  // Build ISO 8601 format date string
  var s = d.getFullYear() + '-' + 
          ('0' + (d.getMonth()+1)).slice(-2) + '-' +
          ('0' + d.getDate()).slice(-2);

  // Set the value of the value and min attributes
  var node = document.querySelector('input');
  if (node) {
    node.setAttribute('min', s);
    node.setAttribute('value', s);
  }
}
<form onsubmit="return false;">
  <input type="date"><br>
  <input type="reset">
</form>
0 голосов
/ 06 февраля 2019

Я думаю, вы ищете метод setAttribute :

document.getElementById('set').setAttribute('min', '01-06-2019');
...