首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5日期选择器阻止过去的日期

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

Stack Overflow用户
提问于 2014-01-28 12:05:38
回答 2查看 11.9K关注 0票数 2

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

有没有一个纯HTML5/Javascript的解决方案呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-28 12:42:41

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

代码语言:javascript
复制
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>

这里有一个难题:http://jsfiddle.net/tj9Xh/2/

票数 4
EN

Stack Overflow用户

发布于 2014-01-28 13:02:26

试试这个:

代码语言:javascript
复制
<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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21396605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档