默认值为今天?

新的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

上一篇: Default Value to Today?

下一篇: Date constructors provide unexpected results when called with similar arguments