3

Ich habe eine input type="month" Kontrolle und ich benutze auch Angular UI Bootstrap. Wenn ich einen Monat in IE wähle, wird es als yyyy-MM Format angezeigt. Aber in Google Chrome wird es als MMMM yyyy Format angezeigt.Eingabetyp = "Monat" Format in Google Chrome

Bei der Lokalisierung werden die Monate in der Kalendersteuerung als lokalisierter Text angezeigt, aber nach der Auswahl im Eingabefeld wird der englische Monatsname angezeigt.

Gewünschte Lösung: Zeigen Sie entweder den lokalisierten Monat im Eingabefeld oder ändern Sie das Format als yyyy-MM in Google Chrome.

+0

Sie sind besorgt über die Darstellung des Steuerelements in den Browsern ändern? –

Antwort

1

Zu beachten ist, dass sich das angezeigte Datumsformat vom Istwert unterscheidet; Die meisten Benutzeragenten zeigen den Monat und das Jahr in einem Gebietsschema-geeigneten Formular an, das auf dem Gebietsschema des Benutzers Betriebssystem basiert, während der Datumswert immer JJJJ-MM formatiert ist.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/month

So, da diese am Tag locale-Format basiert, ich glaube nicht, dass du in der Lage sein zu bekommen, was Sie wollen, indem Sie die <input type=month> --Jedoch den Wert, die Sie Get von diesem sollte immer in YYYY-MM Format nach den Spezifikationen sein.

Wenn es wichtig ist, wie das Datum angezeigt wird, würde ich einige der vor-HTML5-Lösungen für Datumskontrollen betrachten. Beispiel: https://jqueryui.com/datepicker/

+1

Ich verstehe den Downvote nicht. Dies ist die richtige Antwort. Das Anzeigeformat wird vom Client bestimmt und Sie können nichts dagegen tun. Und aus Sicht von UX sollten Sie nicht. Der Benutzer erwartet, dass sich Datumsfelder auf jeder Website gleich verhalten, daher sollten wir diese nativen Client-Funktionen so weit wie möglich verwenden und nur auf benutzerdefinierte Datumsauswahl (wie AngularJS-UI Bootstrap, jQueryUI oder was auch immer) zurückgreifen, wenn der Client dies nicht unterstützt der Eingabetyp – masterfloda