/ / ExtJs DateField przesyła sekundy zamiast daty w formularzu - extjs

ExtJs DateField przesyła sekundy zamiast daty w formularzu - extjs

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 № 1

W 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.formatlub możesz użyć dateWriteFormat konfiguracja pola, zgodnie z dokumentami.