【问题标题】:Auto insert date and time in form input field?在表单输入字段中自动插入日期和时间?
【发布时间】:2010-11-03 08:51:27
【问题描述】:

使用 javascript,我们如何自动将当前日期和时间插入表单输入字段。

我正在构建一个“问题”表单来跟踪用户提交的有关某项服务的投诉。我正在收集尽可能多的信息。我希望这里的工作人员不必每次打开表单时手动输入日期和时间。

我有这段代码:

<input id="date" name="date" value="javascript:document.write(Date()+'.')"/>

但它不起作用。

非常感谢您的帮助。

【问题讨论】:

  • any HTML 元素的任何属性都不会执行 JS 语句:HTML 不是脚本语言。 onclick 等人只是为 DOM 表示提供值。
  • 使用服务器端代码(PHP,ASP.NET)在这个问题上更安全。黑客(初学者)可能会通过 FireBug、开发者工具(IE8+)、... 更改您的 input 值。

标签: javascript forms date automation


【解决方案1】:

Javascript 不会在 value 属性中执行。不过,您可以这样做:

<input id="date" name="date">

<script type="text/javascript">
  document.getElementById('date').value = Date();
</script>

您可能希望根据自己的喜好格式化日期,因为 Date() 的默认输出类似于:Tue Jun 16 2009 10:47:10 GMT-0400 (Eastern Daylight Time)。有关格式化日期的信息,请参阅 this SO question

【讨论】:

  • 仅当输入不是 HTML5 日期输入字段时才有效。
【解决方案2】:
<input type="date" id="myDate"  />

<script type="text/javascript">
function SetDate()
{
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('myDate').value = today;
}
</script>

<body onload="SetDate();">

在这里找到:http://jsbin.com/oqekar/1/edit?html,js,output

【讨论】:

    【解决方案3】:

    查看示例,http://jsbin.com/ahehe

    使用here 中描述的 JavaScript 日期格式化实用程序。

    <input id="date" name="date" />
    
    <script>
       document.getElementById('date').value = (new Date()).format("m/dd/yy");
    </script>
    

    【讨论】:

    • 很抱歉成为“约翰尼最近来了”,但我从周日开始尝试了以上七种方法,但无法让它填充该字段。我构建了一个新文件,其中的所有内容都是上面带有适当 html 标记的代码,并且它不会生成带有日期的文本框。有什么建议吗?
    【解决方案4】:

    获取日期格式的最快方法是使用datejs

    该库非常易于使用,并且确实为您提供了非常漂亮的格式。


    就您的代码 sn-p 而言,如果您能提供帮助,请不要使用 document.write。试试

     document.getElementById("date").value = new Date().toUTCString(); 
    

    【讨论】:

      【解决方案5】:
      $("#startDate").val($.datepicker.formatDate("dd/mm/yy", new Date()));
      $("#endDate").val($.datepicker.formatDate("dd/mm/yy", new Date()));
      

      在脚本末尾添加上述代码。这是必需的,因为 datepicker 插件没有规定在初始化时在控件中设置日期。

      【讨论】:

        【解决方案6】:

        听起来您将在提交表单后存储输入字段包含的值,这意味着您正在使用脚本语言。我会使用它而不是 JavaScript,因为大多数脚本语言都有更好的时间/日期格式选项。在 PHP 中你可以这样做:

        <input id="date" name="date" value="<?php echo date("M j, Y - g:i"); ?>"/>
        

        该字段将填写“2009 年 6 月 16 日 - 8:58”

        【讨论】:

        • 这取决于服务器的时区,而不是真正的用户本地时间
        【解决方案7】:

        如果您使用的是 HTML5 日期

        使用此代码

        HTML

        <input type="date" name="bday" id="start_date"/>
        

        Java 脚本

        document.getElementById('start_date').value = Date();
        

        【讨论】:

          【解决方案8】:
          <input id="date" name="date" />
          <script type="text/javascript">
          document.getElementById("date").value = new Date();
          </script>
          

          【讨论】:

            【解决方案9】:

            另一种选择是:

            <script language="JavaScript" type="text/javascript"> 
            document.getElementById("my_date:box").value = ( Stamp.getDate()+"/"+(Stamp.getMonth() + 1)+"/"+(Stamp.getYear()) );
            </script>
            

            【讨论】:

              【解决方案10】:
              var date = new Date();
              
              document.getElementById("date").value = date.getFullYear() + "-" + (date.getMonth()<10?'0':'') + (date.getMonth() + 1) + "-" + (date.getDate()<10?'0':'') + date.getDate();
              
              document.getElementById("hour").value = (date.getHours()<10?'0':'') + date.getHours()  + ":" + (date.getMinutes()<10?'0':'') + date.getMinutes();
              

              【讨论】:

                【解决方案11】:

                我不是不知道所有的技术语言,但我无法在任何地方找到答案,所以我想出了这个并且它奏效了......祝你好运!

                $time = date("Y/m/d h:i:s");
                
                $sql = "INSERT INTO *yourtablenamehere* ('dt')  VALUES ('$time')";
                

                【讨论】:

                  猜你喜欢
                  • 2019-07-22
                  • 1970-01-01
                  • 2012-04-23
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-02-22
                  • 1970-01-01
                  • 2014-07-12
                  • 1970-01-01
                  相关资源
                  最近更新 更多