2016-08-10 3 views
0

У меня есть форма, разработанная с использованием ExtJs, которая содержит DateField, при отправке формы дата отправляется в секундах, а не в формате, который я определил.ExtJs DateField отправляет секунды вместо даты отправки формы

Моя проблема: я хочу отправить дату в том же формате, что и ее свойство в формате.

Ниже приведен фрагмент кода DateField:

Ext.create('Ext.form.field.Date',{ 
     fieldLabel: 'Date1', 
     name: 'date1', 
     id: 'date1', 
     allowBlank: true, 
     format: 'Y-m-d', 
     submitFormat: 'Y-m-d', 
    }) 

Я был бы признателен, если кто-то может помочь мне, чтобы понять это.

Заранее спасибо.

+0

В настоящее время вы получаете этот формат 'm/d/Y'? Это значение по умолчанию. – UDID

+0

@UDID, нет. Я получаю их в секундах, например, например. 1472063400 –

+0

Я ответил на это. Пожалуйста, проверьте и попробуйте, что я предлагаю. – UDID

ответ

2

В полевых форматах поля по умолчанию Задается по умолчанию: "m/d/Y"DateDoc. Ваш формат должен быть действительным в соответствии с процедурой Ext.Date #. Date Parse

Чтобы сделать ваш формат желаемого результата, вам необходимо использовать синтаксис Ext.Date #.

dt = Ext.Date.parse("2006-01-15", "Y-m-d"); 

Ссылка на синтаксический анализ даты.

Я создал скрипач для вас. Пожалуйста, проверьте Fiddle

+0

Спасибо за ваш ответ. Но даже если я пытаюсь использовать формат по умолчанию, т. Е. «M/d/Y», он все равно сохраняет значение за считанные секунды, например 1472063400 –

+0

для всех дат, которые вы получаете одинаковое значение 1472063400? – UDID

+0

Я проверил вашу скрипку, и да, она работает там, но мне интересно, почему она не работает, когда я реализую ее в своем проекте. –

0

Form.getRecord возвращает вам экземпляр модели, as per the docs.

У экземпляра модели есть поля, которые имеют определенные типы значений, as per the docs. Если ваше поле определено как поле int, а не дата, вы получаете секунды. Если вы определяете его как поле даты, вы получаете дату javascript.

В зависимости от того, как вы на самом деле отправить эту модель на сервер, вам придется вручную форматировать дату от модели в нужную строку с помощью Ext.Date.format, или вы можете быть в состоянии использовать dateWriteFormat конфигурации поля, as per the docs.

Смежные вопросы