我试过了(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
其他回答
你可以这样做:
<input type="date" value="<?php echo date("Y-m-d");?>" name="inicio">
如果您正在使用PHP,您可以像这样设置该值
<input type="date" value="<?php echo date("Y-m-d");?>">
但请记住,它将返回服务器的日期。 例如,如果你的服务器在美国,你的客户在印度尼西亚,它可能相差一天。
但如果你想从客户端使用,使用javascript解决方案代替。 希望能有所帮助。
JS代码:
function TodayDate(){
let data= new Date();
return data.getFullYear().toString()+'-' + (data.getMonth()+1).toString()+'-' + data.getDate().toString()
}
document.getElementById('today').innerHTML = '<input type="date" name="Data" value="'+TodayDate()+'" ><br>';
Html代码:
<div id="today" > </div>
有点粗糙,但很有效!
你可以使用下面的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");
<input type=“date” id=“myDate” />
然后在js中:
_today: function () {
var myDate = document.querySelector(myDate);
var today = new Date();
myDate.value = today.toISOString().substr(0, 10);
},