我正在开发Extjs表单并且必须发送所有字段,也包括空字段。它适用于所有类型的字段,只有时间段不发送。这是一个datefield和timefield的例子。 为什么他们的行为不同?我应该使用哪个配置发送空时间段?首选变量名,空字符串作为值。你有什么想法吗?
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'
});
}
}]
});
答案 0 :(得分: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) : "";
}
});