12
2012
09

Extjs DateField Bug 当format为年月'Y-m'的时候,无法选择2月份

Extjs3.3 DateField Bug 当format为年月'Y-m'的时候,无法选择2月份

Ext DateField 只显示年和月份的时候,BUG的修改
[{
        fieldLabel:'日期',
        xtype:'datefield',
        format:'Y-m'
}]
当format:'Y-m'时,能选择二月份,但是当光标离开日期控件时,选择的日期就变为三月份了
比如选择了:2012-02,当光标离开日期控件后,日期就变为了2012-03。
 
此问题是在Extjs3.3中发现的,估计其他版本也有类似问题
解决方案:
Ext.form.WMDateField = Ext.extend(Ext.form.DateField, {
 safeParse : function(value, format) {
  if (/[gGhH]/.test(format.replace(/(\\.)/g, ''))) {
   return Date.parseDate(value, format);
  } else if ("Y-m" == format) {
   var parsedDate = Date.parseDate(value + '-01 ' + this.initTime, format + '-d ' + this.initTimeFormat);
   if (parsedDate) {
    return parsedDate.clearTime();
   }
  } else if ("Ym" == format) {
   var parsedDate = Date.parseDate(value + '01 ' + this.initTime, format + 'd ' + this.initTimeFormat);
   if (parsedDate) {
    return parsedDate.clearTime();
   }
  } else {
   var parsedDate = Date.parseDate(value + ' ' + this.initTime, format + ' ' + this.initTimeFormat);
   if (parsedDate) {
    return parsedDate.clearTime();
   }
  }
 }
});
Ext.reg('wmdatefield', Ext.form.WMDateField);
 
日期控件定义为下面的方法:
[{
        fieldLabel:'日期',
        xtype:'wmdatefield',
        format:'Y-m'
}]
« 上一篇下一篇 »

评论列表:

1.wmj007  2012-9-12 15:02:15 回复该留言
没想到在这里找到的方案,首先谢谢,现在4.0的这个bug也继续存在
2.wmj007  2012-9-12 15:02:50 回复该留言
解决日期控件30、31号的bug
Ext.form.WMDateField = Ext.extend(Ext.form.DateField {
safeParse : function(value, format) {
if (/[gGhH]/.test(format.replace(/(\\.)/g, ''))) {
return Date.parseDate(value, format);
} else if (format.toString().indexOf('d')==-1) {
var parsedDate = Date.parseDate(value + '01 '
+ this.initTime, format + 'd '
+ this.initTimeFormat);
if (parsedDate) {
return parsedDate.clearTime();
}
} else {
var parsedDate = Date.parseDate(
value + ' ' + this.initTime, format + ' '
+ this.initTimeFormat);
if (parsedDate) {
return parsedDate.clearTime();
}
}
}
});
Ext.reg('wmdatefield', Ext.form.WMDateField);
以上是我一句你的代码修改的版本

[F]Cool[/F]
由 admin 于 2012-9-12 15:04:54 最后编辑
由 admin 于 2012-9-30 7:53:03 最后编辑
3.水冰  2014-3-31 11:19:39 回复该留言
我这样处理了,还是没有解决

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。