我试过了(JSFiddle):

<input type="date" value="2012-3-23"> .

但它不起作用,我如何设置默认值?


当前回答

一个可能的解决方案:

document.getElementById("yourDatePicker").valueAsDate = new Date();

使用Moment.js:

var today = moment().format('YYYY-MM-DD');
document.getElementById("datePicker").value = today;

其他回答

您可以简单地按照正确的格式显示日期

<input type="date" value="2014-12-29">

你可以使用下面的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");
$date=date("Y-m-d");
echo"$date";
echo"<br>SELECT DATE: <input type='date'  name='date'  id='datepicker' 
value='$date' required >";

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>

有点粗糙,但很有效!

// HTML

<input id="idFdate" type="date" />

// javascript代码的主要加载函数

function loadFunction() {
    // body...
    var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth()+1; //January is 0!
    var yyyy = today.getFullYear();

    if(dd<10){
        dd='0'+dd;
    } 
    if(mm<10){
        mm='0'+mm;
    } 

    today = yyyy+'-'+mm+'-'+dd;                
    document.getElementById("idFdate").defaultValue =today+"";
}