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