JS使用IF为HTML输入日期设置了最小日期

时间:2019-02-06 10:36:57

标签: javascript html date input min

很抱歉我的错误,但是我非常菜鸟:D 我必须在带有IF的HTML输入中设置最小日期: 如果今天是> 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 :(得分:0)

我认为您正在寻找的是 setAttribute 方法:

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

答案 1 :(得分:0)

该操作无效,因为您将字符串传递给输入。您输入类型的编号。 您可以改用数据类型。

答案 2 :(得分:0)

我猜输入为date类型。您可以使用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>