extjs时间控件,仅在选择年月时的一处小bug
2015-08-12 15:08
681 查看
在extjs中,当DateField 的format属性被设置为"Y-m" 的时候,其实缺存在一个小BUG!
比如 :当你选6月份,并且当前系统 日期为 每 个月的29-31号时,BUG就出现了 ,不管你怎么选,文本框始终是7月,这样用户在这几天 就不能查看6月份或其他没有当前日期号数的月份都会出不来 .。。 var thetoolbar = new Ext.revenue.RevToolbar({
items : [ {xtype:"label",text:"日期:"},
new Ext.revenue.RevDateField({id:"analyzeDate",format:"Y-m",value:document.getElementById("jkBankAnalyzeQueryForm.month").value}),
{text:"查询",id:'chaxun',icon:iconPath+'search.gif',handler:function(){list();}},
{text:"取数",id:'qushu',hidden:true,icon:iconPath+'import.png',handler:function(){fetch(); }},
{text:"上报",id:'lock',hidden:true,disabled:true,icon:iconPath+'lock.png',handler:function(){close() }},
{text:"保存",id:'save',hidden:true, icon : iconPath + "save.gif",renderTo : Ext.get('save'),handler : function() {_submitTable( report1 );return false;} },
{text:"进入列表",id:'into',icon:iconPath+'preview.gif',handler:function(){return_burlist() }}
]
});
此时需要extjs的源代码(extjs下ext-all.js 或 ext-all-debug.js,具体看你引用哪个), 在extjs3.1版本中,找到 "y = Ext.num(y, Ext.num(def.y, dt.getFullYear()));",
"m = Ext.num(m, Ext.num(def.m - 1, dt.getMonth()));",
"d = Ext.num(d, Ext.num(def.d, dt.getDate()));", 修改为 "y = Ext.num(y, Ext.num(def.y, dt.getFullYear()));",
"m = Ext.num(m, Ext.num(def.m - 1, dt.getMonth()));",
"d = Ext.num(d, Ext.num(def.d, 1));"即可(默认部位当前日期,而是1号) 其他版本原理一样,修改如下 var code = "Date." + funcName + " = function(input){\n"
+ "var y, m, d, h = 0, i = 0, s = 0, ms = 0, o, z, u, v;\n"
+ "input = String(input);\n"
+ "d = new Date();\n"
+ "y = d.getFullYear();\n"
+ "m = d.getMonth();\n"
+ "d = 1;\n" //原代码 + "d = d.getDay();\n"
+ "var results = input.match(Date.parseRegexes[" + regexNum + "]);\n"
+ "if (results && results.length > 0) {";
比如 :当你选6月份,并且当前系统 日期为 每 个月的29-31号时,BUG就出现了 ,不管你怎么选,文本框始终是7月,这样用户在这几天 就不能查看6月份或其他没有当前日期号数的月份都会出不来 .。。 var thetoolbar = new Ext.revenue.RevToolbar({
items : [ {xtype:"label",text:"日期:"},
new Ext.revenue.RevDateField({id:"analyzeDate",format:"Y-m",value:document.getElementById("jkBankAnalyzeQueryForm.month").value}),
{text:"查询",id:'chaxun',icon:iconPath+'search.gif',handler:function(){list();}},
{text:"取数",id:'qushu',hidden:true,icon:iconPath+'import.png',handler:function(){fetch(); }},
{text:"上报",id:'lock',hidden:true,disabled:true,icon:iconPath+'lock.png',handler:function(){close() }},
{text:"保存",id:'save',hidden:true, icon : iconPath + "save.gif",renderTo : Ext.get('save'),handler : function() {_submitTable( report1 );return false;} },
{text:"进入列表",id:'into',icon:iconPath+'preview.gif',handler:function(){return_burlist() }}
]
});
此时需要extjs的源代码(extjs下ext-all.js 或 ext-all-debug.js,具体看你引用哪个), 在extjs3.1版本中,找到 "y = Ext.num(y, Ext.num(def.y, dt.getFullYear()));",
"m = Ext.num(m, Ext.num(def.m - 1, dt.getMonth()));",
"d = Ext.num(d, Ext.num(def.d, dt.getDate()));", 修改为 "y = Ext.num(y, Ext.num(def.y, dt.getFullYear()));",
"m = Ext.num(m, Ext.num(def.m - 1, dt.getMonth()));",
"d = Ext.num(d, Ext.num(def.d, 1));"即可(默认部位当前日期,而是1号) 其他版本原理一样,修改如下 var code = "Date." + funcName + " = function(input){\n"
+ "var y, m, d, h = 0, i = 0, s = 0, ms = 0, o, z, u, v;\n"
+ "input = String(input);\n"
+ "d = new Date();\n"
+ "y = d.getFullYear();\n"
+ "m = d.getMonth();\n"
+ "d = 1;\n" //原代码 + "d = d.getDay();\n"
+ "var results = input.match(Date.parseRegexes[" + regexNum + "]);\n"
+ "if (results && results.length > 0) {";
相关文章推荐
- Ajax(2)使用 JavaScript 和 Ajax 发出异步请求
- js控件打印
- jsoup使用例子(仅作参考)
- JS学习第八天----对象
- 利用ajax和JSP技术实现网页中表单的局部刷新(只刷新表单数据,而不刷新整个页面)
- json解析方式
- 如何在jsp中读取配置文件的内容
- js类型检测
- js window.onload 加载多个函数的方法
- JSON与数组的并用
- javascript表单验证大全
- 页面弹层置灰 js
- JSON
- js
- JSON-lib框架,转换JSON、XML不再困难
- JSON 之FastJson解析
- 【JavaScript】正则表达式
- JSP EL表达式详细介绍
- JS 暴虐算法查找
- JS跟随鼠标飞舞的星星