默认值为今天?
新的HTML5输入类型非常棒。 Opera的新内置日期选择器非常轻松,Chrome至少支持使用旋转轮实现的新输入类型。
但是有没有办法将日期字段的默认值设置为今天的日期? 借助Opera,我可以从日期选择器中选择“今日”,只要点击Chrome中的任一步骤按钮,它就会从今天的日期开始递增/递减。
我并不害怕为这个小问题编写解决方案,但对我来说,这两个浏览器完全知道当前日期,但不会自动将其弹出(至少作为占位符)。
与任何HTML输入字段一样,除非使用value
属性指定了默认值,否则浏览器将保留为空。
不幸的是,HTML5没有提供在value
属性中指定'today'的方法(我可以看到),只有像2011-09-29
这样的RFC3339有效日期。 对不起,这并没有多大帮助!
JavaScript Date对象为所需的格式提供了足够的内置支持,以避免手动进行:
添加这个以获得正确的时区支持:
Date.prototype.toDateInputValue = (function() {
var local = new Date(this);
local.setMinutes(this.getMinutes() - this.getTimezoneOffset());
return local.toJSON().slice(0,10);
});
jQuery的:
$(document).ready( function() {
$('#datePicker').val(new Date().toDateInputValue());
});
纯JS:
document.getElementById('datePicker').value = new Date().toDateInputValue();
这适用于我:
document.getElementById('datePicker').valueAsDate = new Date();
https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement
链接地址: http://www.djcxy.com/p/3077.html下一篇: Date constructors provide unexpected results when called with similar arguments