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

来源:互联网 发布:seo软优化方案 编辑:程序博客网 时间:2024/05/17 19:18

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


   
[javascript] view plaincopy
  1. var fs = Ext.create('Ext.form.Panel', {  
  2.     region : 'north',  
  3.     frame : true,  
  4.     bodyStyle : 'padding:4px 2px 3px 4px',  
  5.     width : document.body.clientWidth,  
  6.     fieldDefaults : {  
  7.         labelAlign : 'left',  
  8.         msgTarget : 'side'  
  9.     },  
  10.   
  11.     items : [ {  
  12.         xtype : 'container',  
  13.         anchor : '100%',  
  14.         layout : 'column',  
  15.         items : [ {  
  16.             xtype : 'container',  
  17.             columnWidth : .2,  
  18.             layout : 'anchor',  
  19.             defaultType : 'datefield',  
  20.             items : {  
  21.                 fieldLabel : '日期',  
  22.                 anchor : '90%',  
  23.                 id:'time',  
  24.                 format : 'Y-m-d',  
  25.                 timePicker : true,  
  26.                 editable : false,  
  27.                 allowBlank : false,  
  28.                                 //value : Ext.Date.add(new Date(), Ext.Date.DAY, 1),  
  29.                 listeners : {  
  30.                     'change' : specchangedatefun  
  31.                 }  
  32.   
  33.             }  
  34.         } ]  
  35.     } ]  
  36.   
  37. });  
因为
[javascript] view plaincopy
  1. value : Ext.Date.add(new Date(), Ext.Date.DAY, 1),  

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


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

[javascript] view plaincopy
  1. Ext.Ajax.request( {  
  2.     timeout : 3000,  
  3.     url : 'getdate.action',  
  4.     success : function(response, config) {  
  5.         json = Ext.JSON.decode(response.responseText);   
  6.         var date=new Date(json.date);  
  7.         var d=Ext.Date.add(date,Ext.Date.DAY, 1)  
  8.         Ext.getCmp('time').setValue(d);  
  9.     },  
  10.     failure : function(response,options) {  
  11.     }  
  12. })//Ajax end  

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

原创粉丝点击