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

JS set minimum date for HTML input date with an IF

抱歉我的错误,但我很菜鸟 :D 我必须使用 IF 在 HTML 的输入中设置最短日期: 如果今天是 > 01-06-2019 将最小设置为今天 否则将最小值设置为 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');?>';
 }
}

我想你要找的是 setAttribute 方法:

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

它不会工作,因为您将字符串传递给您的输入。您输入的类型的编号。 您可以改用数据类型。

我猜输入的类型是 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>