我正在尝试使用通过GET传递的值在网站上填充表单。我遇到问题的两个字段是type="date"
或type="time"
类型的输入标记。 Chrome有这个不错的功能,可以为您提供一个下拉日历来选择日期:
Chrome也为“时间”字段执行类似操作。问题是它不喜欢尝试填充这些类型的表单字段的javascript。我像这样传递GET信息:
日期格式化的原因是因为这是后端需要的(不是我正在处理的),而日期直接来自后端代码。
我有一个函数可以自动填充document.$_GET
作为一个数组,其中包含来自GET的所有传递值。我还包含date.js,这允许我使用Date.parse
功能和其他一些功能。我通过这样的javascript传递它:
if(document.$_GET['time']!=undefined)
document.getElementById('time').value=document.$_GET['time'];
if(document.$_GET['date']!=undefined){
var date = new Date();
date = Date.parse(document.$_GET['date']);
alert(date.toString('MM-dd-yyyy')); // <-- Debugging
document.getElementById('date').value = date.toString('MM-dd-yyyy'); //WHY WON'T YOU WORK!?
}
在Safari上我得到了我期望得到的东西:
使用Chrome时,我会留下空的表单字段:
我很难过,不知道如何解决这个问题。我需要Chrome自动填充功能,类似于Safari的功能。
答案 0 :(得分:1)
Google Chrome严格遵守日期格式。
日期使用以下格式YYYY-MM-DD。 时间适用于军事时间。 (24小时制)
这是一个样本, http://jsfiddle.net/vFnxw/2/
$("#date").attr({
value:"2012-09-28"
})
$("#time").attr({
value:"23:59:59"
})
以下是来源