0

我正在开发 Extjs 表单并且必须发送所有字段,也包括空字段。它适用于所有类型的字段,只有时间字段不发送。这是一个带有日期字段和时间字段的示例。为什么他们的行为不同?我应该使用哪个配置来发送空的时间域?首选作为变量名,以空字符串作为值。你有想法吗?

Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
standardSubmit: true,
items: [{
    fieldLabel: 'Datefield',
    format: 'Y-m-d',
    name: 'Datefield',
    // value: '2015-01-01',
    xtype: 'datefield'
},{
    fieldLabel: 'Timefield',
    format: 'H:i:s',
    name: 'Timefield',
    // value: '16:00:00',
    xtype: 'timefield'
}],
buttons: [{
    text: 'Submit',
    formBind: true,
    handler: function(){
        this.up('form').getForm().submit({
            url: 'http://yourfavoriteurl',
            standardSubmit: true,
            method: 'POST' // 'GET'
        });
    }
}] 
});
4

1 回答 1

1

时间域是故意以这种方式开发的,因为从查询中省略时间是很正常的事情。

如果您希望此字段在为空时表现得像日期字段,请添加此覆盖:

Ext.define('Ext.view.override.TimeField',{
     override: 'Ext.form.field.Time',

     getSubmitValue: function() {
        var me = this,
            format = me.submitFormat || me.format,
            value = me.getValue();

        return value ? Ext.Date.format(value, format) : "";
    }
});
于 2015-01-04T15:29:31.110 回答