ExtJS Forms> .getFieldValues ​​() функция не возвращает значение для «timefield» xtype - PullRequest
2 голосов
/ 02 ноября 2011

Я использую формы ExtJS.

Мой код формы выглядит следующим образом:

Ext.create('Ext.form.Panel', {
    width: 600,
    layout: 'anchor',
    defaultType: 'textfield',
    items: [{
        fieldLabel: "Specimen",
        name: "Specimen"
    }, {
    .
    .
    .
    }, {
        fieldLabel: "Time Stamp",
        name: "timestamp",

        xtype: "timefield",

        allowBlank: false
    }],
    buttons: [{
        text: 'Save',
        handler: function() {

            var form = this.up('form').getForm();

            var fieldValuePair = form.getFieldValues();

        }
    }],
    renderTo: "ui"
});                 

Для некоторых специальных целей я хочу получить пары идентификатор / значение в формате json, которыеЯ достиг с помощью функции .getFieldValues ​​().

Проблема в том, что когда я нажимаю кнопку «Сохранить», переменная «fieldValuePair» в функции-обработчике правильно получает все значения в формате json, кромеполя, которые имеют "timefield" или "datefield" xtypes.

Я искал в Интернете, но не нашел никакого решения.

Любая идея, в чем может быть проблема ...

1 Ответ

1 голос
/ 03 ноября 2011

Попробуйте:

handler: function () {
            var form = this.up('form').getForm();
            var formValues = form.getValues(); // instead getFieldValues
            console.log(formValues);
        }

, таким образом, он возвращает:

 date    "12:30 AM"

, а не:

 date
Date {Tue Jan 01 2008 00:15:00 GMT+0100 (Central European Standard Time)} // this being another object 

ура!

...