设置输入类型=“日期时间”通过ios中的javascript设置

时间:2012-02-07 00:03:04

标签: javascript ios html5

我在JS中有一个Date对象,我正在尝试设置值。但我似乎无法弄明白。在内部监督办公室没有任何事情发生。

提前致谢。

2 个答案:

答案 0 :(得分:3)

我认为你所指的问题是在iOS 5中设置datetime类型的输入字段。像这样:

<input type="datetime" id="dateStart" />

我找到的唯一方法是使用toISOString()格式化方法

var currentTimeAndDate = new Date(); 
document.getElementById('dateStart').value = currentTimeAndDate.toISOString();

或在jQuery中

$("#dateStart").val(currentTimeAndDate.toISOString());

答案 1 :(得分:0)

我没有可以测试的环境,但是HTML5 specification表示您的输入应该是:

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

该值应以格式返回为字符串:

yyyy-mm-dd

我希望您能够使用以下方法将其转换为日期对象:

var date = new Date(document.getElementById('someDate').value);

在支持输入类型日期的浏览器中。但是其他浏览器也可能会使用该页面(并且需要在屏幕上提示相应的格式),因此您可能需要手动解析日期,例如:

var dateBits = document.getElementById('someDate').value.split('-');
var date = new Date();
date.setYear(dateBits[0], dateBits[1] - 1, dateBits[2]);

// Validate the date
if (date.getFullYear() == dateBits[0] && date.getDate() == dateBits[2]) {
    // got a valid date
} else {
    // didn't get a valid date
}

// And if the time needs to be zeroed
date.setHours(0, 0, 0);