2013-08-26 126 views
6

我一直在使用PhoneGap的一个相当大的的iPad应用程序构建和我做了一些测试,以确保一切都将在适当工作的iOS 7.我发现的最重要的问题是不再支持<input type="datetime"/>的iOS 7的移动Safari浏览器不再支持<INPUT TYPE =“日期时间” />

我已经看到几个贴子,建议您现在需要有两个单独的日期和时间字段。这是一个非常巨大的变化,因为我在整个应用程序中使用了这个。我希望这只是在iOS 7测试版中破坏,因为它是一个HTML 5标准输入类型,但我似乎无法找到任何信息。

任何帮助或想法将不胜感激。

+0

在此基础上http://iosdeveloperforums.com/f6/ios-7-safari-dont- support-date-time-input-433.html不再支持。我也在处理这个问题,目前我能想到的唯一选择是分离这些领域,尽管这将是一个巨大的变化。 – jongbanaag

+0

嗨, iphoner

回答

16

支持datetime已被删除,但您可以改为使用datetime-local。从我听到的(不能从谁那里说出)它就在这里停留。

+1

任何链接,仅供参考? – xdumaine

3

它看起来像iOS中移除该输入型7

http://www.mobilexweb.com/blog/safari-ios7-html5-problems-apis-review

继谷歌Chrome,Safari浏览器现在在iOS上不支持 日期时间输入类型了,它会退回到文本。此类型 已在标准中弃用,有利于使用两个输入,日期和 时间用于相同目的。问题在于datetime兼容版本为 ,iOS版本为5.0至6.1;如果你使用它,小心!

+0

我查找了这个或支持它的博客文章的证据,但是却空了:在W3C网站上还有一个关于input [type =“datetime”]的规范。你知道更改记录在哪里吗? – ehdv

0

我最终使用了datetime-local,但您必须确保在绑定到控件时和从控件绑定时考虑时区。我们希望在数据库中存储GMT时间。我使用下面的函数在绑定过程中来回转换。

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 ""; 
} 
} 
-4

见参考here

你的CSS应该如下改变:

{ 
align-items: center; 
display: -webkit-inline-flex; 
overflow: hidden; 
padding: 0px; 
-webkit-padding-start: 1px; 
} 
相关问题