我试过了(JSFiddle):
<input type="date" value="2012-3-23"> .
但它不起作用,我如何设置默认值?
我试过了(JSFiddle):
<input type="date" value="2012-3-23"> .
但它不起作用,我如何设置默认值?
当前回答
日期的格式为YYYY-MM-DD。个位数的日和月应该用0填充。一月是01。
从文档中可以看到:
表示日期的字符串。
值:在[RFC 3339]中定义的有效的完整日期,附加的限定条件是年份组件是四个或更多数字,表示大于0的数字。
你的代码应该更改为:
<input type="date" value="2013-01-08"> .
例子jsfiddle
其他回答
日期的格式为YYYY-MM-DD。个位数的日和月应该用0填充。一月是01。
从文档中可以看到:
表示日期的字符串。
值:在[RFC 3339]中定义的有效的完整日期,附加的限定条件是年份组件是四个或更多数字,表示大于0的数字。
你的代码应该更改为:
<input type="date" value="2013-01-08"> .
例子jsfiddle
如果您正在使用PHP,您可以像这样设置该值
<input type="date" value="<?php echo date("Y-m-d");?>">
但请记住,它将返回服务器的日期。 例如,如果你的服务器在美国,你的客户在印度尼西亚,它可能相差一天。
但如果你想从客户端使用,使用javascript解决方案代替。 希望能有所帮助。
你可以使用下面的js代码:
<input type="date" id="dateDefault" />
JS
function setInputDate(_id){
var _dat = document.querySelector(_id);
var hoy = new Date(),
d = hoy.getDate(),
m = hoy.getMonth()+1,
y = hoy.getFullYear(),
data;
if(d < 10){
d = "0"+d;
};
if(m < 10){
m = "0"+m;
};
data = y+"-"+m+"-"+d;
console.log(data);
_dat.value = data;
};
setInputDate("#dateDefault");
一个可能的解决方案:
document.getElementById("yourDatePicker").valueAsDate = new Date();
使用Moment.js:
var today = moment().format('YYYY-MM-DD');
document.getElementById("datePicker").value = today;
$date=date("Y-m-d");
echo"$date";
echo"<br>SELECT DATE: <input type='date' name='date' id='datepicker'
value='$date' required >";