【问题标题】:Display the current date in a text box after clicking a checkbox单击复选框后在文本框中显示当前日期
【发布时间】:2022-01-29 13:39:16
【问题描述】:

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

HTML 具有获取当前日期并根据需要对其进行格式化的代码 (YYMMDD),but 在我的一生中我找不到在文件名末尾显示它的方法。显示日期的代码有效,因为我可以启用/禁用文本,但无法显示 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="" />

提前感谢您的帮助。

编辑:添加代码。

【问题讨论】:

    标签: javascript html forms date-formatting


    【解决方案1】:

    在您的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;
    }
    

    【讨论】:

      【解决方案2】:

      也可以使用php函数Time:

      设置时区:

      date_default_timezone_set('America/New_York');
      

      并获取实际日期:

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

      所以,设置输入的值:

      <input type="checkbox" value="<?php echo $date_now ?>" />
      

      【讨论】:

      • 您能否详细说明您是如何得出 PHP 在这个问题的上下文中完全相关的结论...?
      【解决方案3】:
      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());
      

      【讨论】:

      • 这行得通!!!我很高兴。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多