FireFox中使用ExtJs日期控件错误的解决方法

在extjs中有一个字段是日期格式,我想直接使用extjs控件,这样可以选择日期。字段属性如下

{ xtype : 'datefield',// 日期框 width : 220, format : 'Y-m-d', allowBlank : false, invalidText : '您输入的日期无效,必须符合格式yyyy-mm-dd', name : 'orderDate', allowBlank : false, fieldLabel : '订单创建时间', renderer : Ext.util.Format.dateRenderer('Y-m-d'), value : new Date() } 

但是这个日期控件在FireFox下显示错误,在谷歌浏览器下显示正确。

下面将解决方法:

 将下面两个js文件加入到项目webcontent/main/目录下,然后

在主jsp重,我的是main.jsp下加入这两个js文件的链接。

date1.js

Ext.override(Ext.menu.Menu, { autoWidth : function() { var el = this.el, ul = this.ul; if (!el) { return; } var w = this.width; if (w) { el.setWidth(w); } else if (Ext.isIE && !Ext.isIE6) { el.setWidth(this.minWidth); var t = el.dom.offsetWidth; el.setWidth(ul.getWidth() + el.getFrameWidth("lr")); } } }); 

date.js

Ext.override(Ext.menu.DateMenu, { render : function() { Ext.menu.DateMenu.superclass.render.call(this); if (Ext.isGecko) { this.picker.el.dom.childNodes[0].style.width = '178px'; this.picker.el.dom.style.width = '178px'; } } });  

main.jsp

... ... 

 

 

你可能感兴趣的:(JAVA)