EXTJS4.0 datefield时间控件更改为获取服务器时间

来源:互联网 发布:免费领取图书vip软件 编辑:程序博客网 时间:2024/05/20 06:39
       
var fs = Ext.create('Ext.form.Panel', {region : 'north',frame : true,bodyStyle : 'padding:4px 2px 3px 4px',width : document.body.clientWidth,fieldDefaults : {labelAlign : 'left',msgTarget : 'side'},items : [ {xtype : 'container',anchor : '100%',layout : 'column',items : [ {xtype : 'container',columnWidth : .2,layout : 'anchor',defaultType : 'datefield',items : {fieldLabel : '日期',anchor : '90%',id:'time',format : 'Y-m-d',timePicker : true,editable : false,allowBlank : false,                                //value : Ext.Date.add(new Date(), Ext.Date.DAY, 1),listeners : {'change' : specchangedatefun}}} ]} ]});
因为
value : Ext.Date.add(new Date(), Ext.Date.DAY, 1),

会默认获取当前浏览器所在机器的时间,所以如果用户主动更改时间的话,会有些许问题


在页面开始加载的时候 我就先获取服务器的时间 然后传到前台 给前台的日期控件赋值

Ext.Ajax.request( {timeout : 3000,url : 'getdate.action',success : function(response, config) {json = Ext.JSON.decode(response.responseText); var date=new Date(json.date);var d=Ext.Date.add(date,Ext.Date.DAY, 1)Ext.getCmp('time').setValue(d);},failure : function(response,options) {}})//Ajax end

如果遇到出现什么getFullYear的错误的话  可以先把  上面注释掉的value赋值语句释放掉,无大碍,顶多就是用浏览器的时间先赋值一次  代码再用服务器的时间来一次