2013-08-26 4 views
6

Ich habe eine ziemlich große iPad Anwendung mit PhoneGap gebaut und ich war einige Tests machen, ob alles machen würde angemessen iOS in arbeiten 7. Das wichtigste Problem, das ich gefunden habe, ist, dass <input type="datetime"/> nicht mehr unterstützt wird.iOS 7 Mobile Safari nicht mehr unterstützt <input type = „Datetime“ />

Ich habe mehrere Beiträge gesehen, die vorschlagen, dass Sie jetzt zwei getrennte Felder für Datum und Uhrzeit haben müssen. Dies ist eine wirklich große Veränderung, weil ich dies überall in der Anwendung verwende. Ich hoffe, das ist nur etwas kaputt in der Beta-Version von iOS 7, da es ein HTML 5 Standard-Eingabe-Typ ist, aber ich kann nicht scheinen, um Informationen zu finden.

Jede Hilfe oder Gedanken würde sehr geschätzt werden.

+0

auf dieser Basis http://iosdeveloperforums.com/f6/ios-7-safari-dont- support-date-time-input-433.html wird nicht mehr unterstützt. Ich beschäftige mich auch mit diesem Problem und die einzige Option, die ich bisher denken kann, ist die Trennung der Felder, obwohl es eine große Veränderung wäre. – jongbanaag

+0

Hi, was ist mit iphoner

Antwort

16

Unterstützung für datetime wurde entfernt, aber Sie können stattdessen datetime-local verwenden. Von dem, was ich höre (kann nicht sagen, von wem), ist es hier zu bleiben.

+1

Irgendwelche Verbindungen, als Referenz? – xdumaine

3

Es sieht aus wie dieser Eingabetyp in iOS 7

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

Nach Google Chrome, jetzt Safari auf iOS mehr Datetime-Eingang gibt nicht auf Text entfernt wurde unterstützt das und es wird Rückfall . Dieser Typ wurde in der Norm für die Verwendung von zwei Eingängen, Datum und Zeit für den gleichen Zweck veraltet. Das Problem ist, dass datetime kompatibel war mit iOS von Version 5.0 bis 6.1; Wenn Sie es benutzen, seien Sie vorsichtig!

+0

Ich suchte nach Beweisen dafür oder nach einem Blog-Post, aber es kam leer: Es gibt immer noch eine Spezifikation für 'input [type =" datetime "] auf der W3C-Site. Wissen Sie, wo die Änderung dokumentiert wurde? – ehdv

0

Ich habe die Datetime-Local verwendet, aber Sie müssen sicherstellen, dass Sie die Zeitzone berücksichtigen, wenn Sie an und von der Kontrolle binden. Wir möchten GMT-Zeit in der Datenbank speichern. Ich habe die folgenden Funktionen verwendet, um während des Bindens hin und her zu konvertieren.

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

siehe Referenz here

sollte Ihre CSS wie unten ändern werden:

{ 
align-items: center; 
display: -webkit-inline-flex; 
overflow: hidden; 
padding: 0px; 
-webkit-padding-start: 1px; 
} 
Verwandte Themen