单击复选框后在文本框中显示当前日期

Display the current date in a text box after clicking a checkbox

我正在构建一个标准化文件名的表单(我是一名视频编辑器)。经过大量研究、复制、粘贴和测试后,我就快完成了。我只需要在用户点击相应的复选框后在文件名末尾显示当前日期。

HTML 具有获取当前日期并按我想要的格式设置日期 (YYMMDD) 的代码,b但我这辈子都找不到办法将其显示在文件名的末尾。显示日期的代码有效,因为我可以 enable/disable 文本,但我无法显示 todaysdate 函数的结果。

这是获取当前日期并将其格式化为 YYMMDD 的代码:

function SetDate()
{
var date = new Date();

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


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


var today = year + month + day;


document.getElementById('today').value = today;
}

这是当您单击复选框时在文件名末尾添加或删除日期的代码。

function todaysdate()
{
  var checkbox = document.getElementById('todayis');
    if (checkbox.checked != false)
        document.getElementById('todayis').value = "DATE";
    if (checkbox.checked != true)
        document.getElementById('todayis').value = "";
}

这是复选框的代码:

Add date (YYMMDD): <input type="checkbox" onclick="todaysdate()" id="todayis" value="" />

在此先感谢您的帮助。

编辑:添加了代码。

您还可以使用php函数时间:

设置时区:

date_default_timezone_set('America/New_York');

并获取实际日期:

$date_now = date('Y/m/d', time());

因此,要在输入上设置值:

<input type="checkbox" value="<?php echo $date_now ?>" />
function getYYMMDDDate(date) {
    var year = String(date.getFullYear()).substring(2,4);
    var month = String(date.getMonth() + 1).padStart(2, "0");
    var day = String(date.getDate()).padStart(2,"0");
    return year + month + day;
}


...
// change this document.getElementById('todayis').value = "DATE";
document.getElementById('todayis').value = getYYMMDDDate(new Date());

在您的 todaysdate 函数中,您将 todayis 输入的值设置为 DATE,您应该将其设置为日期计算值。这只是对您所拥有的可能应该起作用的一点改动!

function todaysdate()
{
  var checkbox = document.getElementById('todayis');
  if (checkbox.checked != false)
    document.getElementById('todayis').value = getDate();
  else if (checkbox.checked != true)
    document.getElementById('todayis').value = "";
}

function getDate()
{
  var date = new Date();

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

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

  var today = year + "" + month + "" + day;
  return today;
}