我在JS中有一个Date对象,我正在尝试设置值。但我似乎无法弄明白。在内部监督办公室没有任何事情发生。
提前致谢。
答案 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);