2009-06-16 294 views
7

使用javascript,我们如何自动将当前的DATE和TIME插入到表单输入字段中。在表单输入栏中自动插入日期和时间?

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

我有这样的代码片段:

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

,但它不工作。

非常感谢您的任何帮助。

+1

任何* HTML元素将永远执行JS语句*号属性:HTML不是一种脚本语言。 onclick等人只是提供了一个DOM表示的值。 – annakata 2009-06-16 14:49:08

+0

在此问题中使用服务器端代码(PHP,ASP.NET)更安全。黑客(初学者)可以通过FireBug,开发者工具(IE8 +)来改变你的输入值。 – MajidTaheri 2012-06-13 06:02:43

回答

17

Javascript将不会在值属性中执行。你可以做这样的事情,虽然:

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

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

你可能要格式化的日期作为你喜欢,因为日期的默认输出()看起来像:Tue Jun 16 2009 10:47:10 GMT-0400 (Eastern Daylight Time)。有关格式化日期的信息,请参阅this SO question

+2

仅当输入不是HTML5日期输入字段时才有效。 – 2016-09-27 10:42:59

2

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

这个lib很容易使用,并且给你非常漂亮的格式。


至于你的代码片段,不要使用document.write,如果你可以帮助它。尝试

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

见的例子,http://jsbin.com/ahehe

使用JavaScript日期格式化工具描述here

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

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

对不起,“约翰尼最近来了”,但我已经从星期天的七种方式尝试这个脚本,并不能让它填充该领域。我建立了一个新文件,其中包含上面的代码,并带有适当的html标记,并且不会生成带有日期的文本框。有什么建议么? – user1794918 2014-12-06 12:29:40

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

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

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

这将填补该领域与 “2009年06月16日 - 8:58”

0

另一种选择是:

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

如果你是使用HTML5日期

使用此代码

HTML

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

Java脚本

document.getElementById('start_date').value = Date(); 
1
$("#startDate").val($.datepicker.formatDate("dd/mm/yy", new Date())); 
$("#endDate").val($.datepicker.formatDate("dd/mm/yy", new Date())); 

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

6
<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

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