在表单输入字段中自动插入日期和时间?

时间:2009-06-16 14:42:57

标签: javascript forms date automation

使用javascript,我们如何自动将当前的DATE和TIME插入表单输入字段。

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

我有这段代码:

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

但它不起作用。

非常感谢你的帮助。

11 个答案:

答案 0 :(得分:18)

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

答案 1 :(得分:8)

<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

答案 2 :(得分:5)

参见示例http://jsbin.com/ahehe

使用here所述的JavaScript日期格式化工具。

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

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

答案 3 :(得分:3)

获得任何好处的日期格式化的最快方法是使用datejs

lib非常易于使用,并且可以为您提供非常漂亮的格式。


就您的代码片段而言,如果您可以提供帮助,请不要使用document.write。试试

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

答案 4 :(得分:2)

$("#startDate").val($.datepicker.formatDate("dd/mm/yy", new Date()));
$("#endDate").val($.datepicker.formatDate("dd/mm/yy", new Date()));

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

答案 5 :(得分:1)

如果您使用的是HTML5日期

使用此代码

<强> HTML

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

Java脚本

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

答案 6 :(得分:0)

<input id="date" name="date" />
<script type="text/javascript">
document.getElementById("date").value = new Date();
</script>

答案 7 :(得分:0)

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

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

哪个会填满“Jun 16,2009 - 8:58”

答案 8 :(得分:0)

另一种选择是:

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

答案 9 :(得分:0)

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();

答案 10 :(得分:0)

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

$time = date("Y/m/d h:i:s");

$sql = "INSERT INTO *yourtablenamehere* ('dt')  VALUES ('$time')";