如何将输入类型日期的默认值设置为今天?

HTML5输入类型很棒,Opera的新内置日期选择器轻而易举,Chrome至少已通过转轮实现支持新输入类型。

但是,有什么方法可以将date字段的默认值设置为今天的日期吗?使用Opera时,我可以从日期选择器中选择“今天”,然后单击Chrome中的任一步骤按钮,它就会从今天的日期开始递增/递减。

我不愿意为这个小问题编写解决方案的代码,但是对我来说,这两个浏览器都完全了解当前日期,却不会自动将其弹出(至少作为占位符),这对我来说似乎很愚蠢。

凯西里2020/03/23 11:24:06

非常简单,只需使用服务器端语言,例如PHP,ASP,JAVA,甚至可以使用javascript。

这是解决方案

<?php
  $timezone = "Asia/Colombo";
  date_default_timezone_set($timezone);
  $today = date("Y-m-d");
?>
<html>
  <body>
    <input type="date" value="<?php echo $today; ?>">
  </body>
</html>
泡芙2020/03/23 11:24:06

的HTML

<input type="date" id="theDate">

JS

$(document).ready(function() {
    var date = new Date();

    var day = date.getDate();
    var month = date.getMonth() + 1;
    var year = date.getFullYear();

    if (month < 10) month = "0" + month;
    if (day < 10) day = "0" + day;

    var today = year + "-" + month + "-" + day;       
    $("#theDate").attr("value", today);
});

演示

如果您不想使用jQuery,则可以执行以下操作

的HTML

<input type="date" id="theDate">

JS

var date = new Date();

var day = date.getDate();
var month = date.getMonth() + 1;
var year = date.getFullYear();

if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;

var today = year + "-" + month + "-" + day;       
document.getElementById("theDate").value = today;

演示

猴子村村2020/03/23 11:24:06

如果使用的是PHP,请遵循标准的Ymd格式

<input type="date" value="<?php echo date("Y-m-d"); ?>">