Mam formularz opracowany przy użyciu ExtJs, który zawiera DateField. Po przesłaniu formularza data jest przesyłana w sekundach, a nie w zdefiniowanym przeze mnie formacie.
Mój problem brzmi: chcę przesłać datę w tym samym formacie, jak zdefiniowano we właściwości formatu.
Poniżej znajduje się fragment kodu DateField:
Ext.create("Ext.form.field.Date",{
fieldLabel: "Date1",
name: "date1",
id: "date1",
allowBlank: true,
format: "Y-m-d",
submitFormat: "Y-m-d",
})
Byłbym wdzięczny, gdyby ktoś mógł mi pomóc to rozgryźć.
Z góry dziękuję.
Odpowiedzi:
2 dla odpowiedzi № 1W formacie pól daty prowadzi Domyślnie do: "m/d/Y"
DateDoc. Twój format musi być poprawny zgodnie z Ext.Date # parsować.Data parsowania
Aby ustawić pożądany format, musisz użyć Ext.Date # parsować.
dt = Ext.Date.parse("2006-01-15", "Y-m-d");
Link do parsowania daty.
Stworzyłem dla ciebie skrzypek. Proszę sprawdzić Skrzypce
0 dla odpowiedzi nr 2
Form.getRecord
zwraca modelową instancję, zgodnie z dokumentami.
Instancja modelu ma pola, które mają zdefiniowane typy wartości, zgodnie z dokumentami. Jeśli twoje pole jest zdefiniowane jako pole int, a nie data, otrzymasz sekundy. Jeśli zdefiniujesz to jako pole daty, otrzymasz datę javascript.
W zależności od tego, jak faktycznie wysłałeś ten model na serwer, będziesz musiał ręcznie sformatować datę z modelu na żądany ciąg za pomocą Ext.Date.format
lub możesz użyć dateWriteFormat
konfiguracja pola, zgodnie z dokumentami.