我有一个使用 PhoneGap 构建的相当大的iPad应用程序,我正在做一些测试以确保一切在iOS 7 中都能正常工作。我发现的最重要的问题<input type="datetime"/>
是不再支持它。
我看过一些帖子,建议您现在需要有两个单独的日期和时间字段。这是一个非常巨大的变化,因为我在整个应用程序中都使用了它。我希望这只是iOS 7 测试版中的一些问题,因为它是HTML 5 标准输入类型,但我似乎找不到任何信息。
任何帮助或想法将不胜感激。
我有一个使用 PhoneGap 构建的相当大的iPad应用程序,我正在做一些测试以确保一切在iOS 7 中都能正常工作。我发现的最重要的问题<input type="datetime"/>
是不再支持它。
我看过一些帖子,建议您现在需要有两个单独的日期和时间字段。这是一个非常巨大的变化,因为我在整个应用程序中都使用了它。我希望这只是iOS 7 测试版中的一些问题,因为它是HTML 5 标准输入类型,但我似乎找不到任何信息。
任何帮助或想法将不胜感激。
datetime
已删除对的支持,但您可以datetime-local
改用。从我听到的(不能说从谁那里)来看,它会一直存在。
看起来这个输入类型在 iOS 7 中被移除了
http://www.mobilexweb.com/blog/safari-ios7-html5-problems-apis-review
继 Google Chrome 之后,现在 iOS 上的 Safari 不再支持 datetime 输入类型,它将回退到文本。这种类型在标准中已被弃用,有利于使用两个输入,日期和时间用于相同目的。问题是 datetime 与 iOS 5.0 到 6.1 版本兼容;如果您正在使用它,请小心!
I ended up using the datetime-local but you have to make sure you take into account the timezone when binding to and from the control. We want to store GMT time in the database. I used the below functions to convert back and forth during binding.
function formatHTML5DateTime(date)
{
try
{
if (typeof(date) == 'undefined' || date == null || date == '') return "";
var tmpDate = new Date(date);
// gets the timezone offset in minutes
var offset = tmpDate.getTimezoneOffset();
// apply the timezone offset in reverse to local time
var newDate = tmpDate.addMinutes(Math.abs(offset) * -1);
return newDate.toISOString().replace("Z", "");
}
catch(e)
{
return "";
}
}
function formatJSDate(date)
{
try
{
if (typeof(date) == 'undefined' || date == null || date == '') return "";
var tmpDate = new Date(date);
// gets the timezone offset in minutes
var offset = tmpDate.getTimezoneOffset();
// apply the timezone offset to UTC time
var newDate = tmpDate.addMinutes(offset);
return newDate.toISOString();
}
catch(e)
{
return "";
}
}
请参阅此处的参考
您的 CSS 应更改如下:
{
align-items: center;
display: -webkit-inline-flex;
overflow: hidden;
padding: 0px;
-webkit-padding-start: 1px;
}