如何设置输入的默认值[type ="date"]

hh5*_*188 170 html date html-input

我试过(JSFiddle):

<input type="date" value="2012-3-23">
Run Code Online (Sandbox Code Playgroud)

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

Lew*_*ton 306

日期应采用格式YYYY-MM-DD.单位数天和月应填0,1月为01.

文档:

表示日期的字符串.

值:[RFC 3339]中定义的有效完整日期,附加限定年份组件是四位或更多位数,表示大于0的数字.

您的代码应更改为:

<input type="date" value="2013-01-08">
Run Code Online (Sandbox Code Playgroud)

示例jsfiddle

  • 啊,谢谢!我默认使用PHP今天的日期,我没有意识到我的问题只是日期的格式.我在做<input type ="date"value ="<?php echo date('m/d/Y');?>"name ="date"id ="date"title ="选择日期"/>还有其他各种方法,但有效的是你的建议值="<?php echo date('Ym-d');?>"很棒,谢谢! (5认同)
  • 我不得不使用'yyyy-MM-dd'获取更多信息:http://msdn.microsoft.com/en-us/library/8kb3ddd4(v = vs1010).aspx (5认同)

小智 23

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

然后在js:

_today: function () {
  var myDate = document.querySelector(myDate);
  var today = new Date();
  myDate.value = today.toISOString().substr(0, 10);
},
Run Code Online (Sandbox Code Playgroud)

  • 似乎 substr 已[已弃用](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr),但 `today.toISOString().substring(0, 10) ` 也同样有效。 (4认同)
  • 谢谢!最简单的解决方案。太奇怪了,以至于不受欢迎。它有什么陷阱吗? (3认同)

Uma*_*lid 21

可能的解决方案:

document.getElementById("yourDatePicker").valueAsDate = new Date();
Run Code Online (Sandbox Code Playgroud)

使用Moment.js:

var today = moment().format('YYYY-MM-DD');
document.getElementById("datePicker").value = today;
Run Code Online (Sandbox Code Playgroud)


Ton*_*idi 15

如果您使用的是PHP,则可以像这样设置值

<input type="date" value="<?php echo date("Y-m-d");?>">
Run Code Online (Sandbox Code Playgroud)

但请记住它会返回服务器的日期.如果您想从客户端使用,请改用javascript.希望能帮助到你.


Cor*_*uix 5

你可以使用这个js代码:

<input type="date" id="dateDefault" />
Run Code Online (Sandbox Code Playgroud)

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");
Run Code Online (Sandbox Code Playgroud)