2013-07-10 3 views
3

Я пытаюсь создать поле со списком полей времени с extJS. Я сделал это успешно, но теперь у меня проблема, когда я получаю значение, которое я выбираю в поле со списком. Сначала код для изготовления TIMEFIELD:Как сохранить формат внешнего поля ExtJS за 24 часа

items :[{ 
    fieldLabel: 'Start Time', 
    name: 'startTime', 
    xtype: 'timefield', 
    id: 'startTime', 
    format: 'H:i', 
    altFormats:'H:i', 
    increment: 30 
     }] 

То, что я хочу, чтобы получить значение в 24-часовом формате. Для того, чтобы получить значение из поля времени я использую этот код:

var startTime = Ext.getCmp('startTime').getSubmitValue(); 

Проблема заключается в том, что вместо того, чтобы время в формате 24hour значения преобразуются в формат 12 часов. Например, когда я выбираю из комбо время: 00:00, когда я использую getSubmitValue(), значение преобразуется в 12:00 AM, что не очень полезно в моем случае.

Мой вопрос: есть ли способ сохранить формат времени точно так, как он находится в поле со списком? Это будет 24-часовой формат.

Надеюсь, ясно, что я пытаюсь сказать.

Благодаря Димитрис

+0

Какую версию Ext вы используете? Вы пробовали также включить конфигурацию 'submitFormat' для поля? – kevhender

ответ

6

Причина проста.
getValue дата возвращается объект, getSubmitValue возвращается форматированная дата.
Вам просто нужно отформатировать дату, полученную методом getValue.

var field = Ext.getCmp('startTime'); 
var value = field.getValue(); 
var formattedValue = Ext.Date.format(value, 'H:i'); 

Sample here

0

Я обнаружил, что если я использую:

var startTime = Ext.getCmp('startTime').getRawValue(); 

я получить время в 24-формате.

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