Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5日期选择器阻止过去的日期_Javascript_Html - Fatal编程技术网

Javascript HTML5日期选择器阻止过去的日期

Javascript HTML5日期选择器阻止过去的日期,javascript,html,Javascript,Html,我正在一个网站上预订电影票。我应该将min属性设置为什么,以防止HTML5日期选择器中出现过去的日期?(我不想使用前面提到的PHP解决方案。) 有没有一个纯HTML5/Javascript解决方案可以解决这个问题?当加载文档时,日期输入被禁用。运行onload函数,以所需格式将今天的日期插入到min字段中 function onLoad() { var input = document.getElementById("dateField"); var today = new Date()

我正在一个网站上预订电影票。我应该将
min
属性设置为什么,以防止HTML5日期选择器中出现过去的日期?(我不想使用前面提到的PHP解决方案。)


有没有一个纯HTML5/Javascript解决方案可以解决这个问题?

当加载文档时,日期输入被禁用。运行
onload
函数,以所需格式将今天的日期插入到min字段中

function onLoad() {
  var input = document.getElementById("dateField");
  var today = new Date();
  // Set month and day to string to add leading 0
  var day = new String(today.getDate());
  var mon = new String(today.getMonth()+1); //January is 0!
  var yr = today.getFullYear();

    if(day.length < 2) { day = "0" + day; }
    if(mon.length < 2) { mon = "0" + mon; }

    var date = new String( yr + '-' + mon + '-' + day );

  input.disabled = false; 
  input.setAttribute('min', date);
}

document.addEventListener('load', onLoad, false);

<body>
  <input id="dateField" type="date" disabled  />
</body>
函数onLoad(){
var输入=document.getElementById(“日期字段”);
var today=新日期();
//将月和日设置为字符串以添加前导0
var day=新字符串(today.getDate());
var mon=新字符串(today.getMonth()+1);//一月是0!
var yr=today.getFullYear();
如果(day.length<2){day=“0”+day;}
如果(mon.length<2){mon=“0”+mon;}
变量日期=新字符串(yr+'-'+mon+'-'+day);
input.disabled=false;
input.setAttribute('min',date);
}
document.addEventListener('load',onLoad,false);
这是一把小提琴:

试试这个:

<input id="dateField" type="date"/>


 var dt= new Date();
   var yyyy = dt.getFullYear().toString();
   var mm = (dt.getMonth()+1).toString(); // getMonth() is zero-based
   var dd  = dt.getDate().toString();
   var min = yyyy +'-'+ (mm[1]?mm:"0"+mm[0]) +'-'+ (dd[1]?dd:"0"+dd[0]); // padding
alert(min);
$('#dateField').prop('min',min);

var dt=新日期();
var yyyy=dt.getFullYear().toString();
var mm=(dt.getMonth()+1.toString();//getMonth()是基于零的
var dd=dt.getDate().toString();
变量min=yyyy+'-'+(mm[1]?mm:“0”+mm[0])+'-'+(dd[1]?dd:“0”+dd[0]);//衬垫
警报(分钟);
$('#dateField').prop('min',min);

如果您实际上指的是HTML5
,而不是一些jQuery插件,只需设置
min=“2014-01-01”
就足够了。这将是静态的。我如何让它充满活力?你说的“活力”是什么意思?你可以随时使用DOM来操作属性,这都是标准的。我也将日期更新为字符串。今天是27号,所以我直到事情发生后才考虑过一位数的日期。