后台action中获取到的为“2012-03-05T00:00:00”。
查了查API,发现datefield有个配置字段:
submitFormat
: String
The date format string which will be submitted to the server.
The format must be valid according to Ext.Date.parse (defaults to format).
但它是支持的submit方式直接提交到后台的,而不是Ext.getCmp("").getValue();
后来加了个js函数,
- //将时间转化为 2011-08-20 00:00:00 格式
- //解决Ext4的formPanel通过grid的store查询问题 2012.2.22 jzr
- function dateFormat(value){
- if(null != value){
- return Ext.Date.format(new Date(value),'Y-m-d H:i:s');
- }else{
- return null;
- }
- }
然后datefield字段提交代码为:
- {
- xtype:'button',
- text: '查询',
- type: 'submit',
- width:50,
- disabled: false,
- handler: function() {
- var starttime = Ext.getCmp("starttime").getValue();
- var store = Ext.getCmp('queryUsertariffGridPanel').getStore();
- var proxy = store.getProxy();
- proxy.extraParams['starttime'] = dateFormat(starttime);
- proxy.extraParams.start = 0;
- store.load();
- }
- }
传到后台的值就正常啦。没有中间那个T了。