jhjiang@163.com
14 Oct 2012, 6:33 PM
<sup></sup><sub></sub>
Ext.define('Ext.ux.datetime.DateTimeField', {<div><span class="Apple-tab-span" style="white-space:pre"> </span> extend: 'Ext.form.field.Date',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> alias: 'widget.datetimefield',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> requires: ['Ext.ux.datetime.DateTimePicker'],</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span> initComponent: function() {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> this.format = this.format + ' ' + 'H:i:s';</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> this.callParent();</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> },</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> // overwrite</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> createPicker: function() {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> var me = this,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> format = Ext.String.format;</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span> return Ext.create('Ext.ux.datetime.DateTimePicker', {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> ownerCt: me.ownerCt,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> renderTo: document.body,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> floating: true,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> hidden: true,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> focusOnShow: true,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> minDate: me.minValue,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> maxDate: me.maxValue,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> disabledDatesRE: me.disabledDatesRE,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> disabledDatesText: me.disabledDatesText,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> disabledDays: me.disabledDays,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> disabledDaysText: me.disabledDaysText,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> format: me.format,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> showToday: me.showToday,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> startDay: me.startDay,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> minText: format(me.minText, me.formatDate(me.minValue)),</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> maxText: format(me.maxText, me.formatDate(me.maxValue)),</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> listeners: {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> scope: me,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> select: me.onSelect</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> },</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> keyNavConfig: {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> esc: function() {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> me.collapse();</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> });</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> }</div> });<br><br>i use it like this <br><br><br>
{<div><span class="Apple-tab-span" style="white-space:pre"> </span>xtype : 'datetimefield',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>fieldLabel : '开始时间',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>id : 'publishStartTime',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>editable : false,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>format : 'Y-m-d',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>anchor : '100%',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>width : 200,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>labelWidth : 60</div><span class="Apple-tab-span" style="white-space: pre; "> </span>}<br><br>and i load it too <br>
Ext.Loader.setConfig({<div><span class="Apple-tab-span" style="white-space:pre"> </span>enabled : true</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>});</div><div>Ext.Loader.setPath('Ext.ux', '../../../static/jslib/extjs-4.1.0/ux');</div><div>Ext.Loader.setPath('Ext.components', '../../../static/commonjs/components');</div><div>Ext.Loader.setPath('Ext.notify', '../../../scripts/sysmng/notify/components');</div><div>Ext.require(['Ext.data.*', 'Ext.grid.*', 'Ext.tree.*','Ext.ux.RowExpander',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>'Ext.ux.datetime.DateTimeField', 'Ext.components.BaseDataComboBox',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>'Ext.components.BaseCommonPagingToolbar',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>'Ext.notify.addNotificationWin',</div><span class="Apple-tab-span" style="white-space: pre; "> </span>'Ext.notify.showNotificationDetailWin', 'Ext.notify.logWin']);<br><br>it can work in ff but in ie and chrome i will get " Uncaught TypeError: Cannot call method 'substring' of undefined" error .<br>help help !!!!
Ext.define('Ext.ux.datetime.DateTimeField', {<div><span class="Apple-tab-span" style="white-space:pre"> </span> extend: 'Ext.form.field.Date',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> alias: 'widget.datetimefield',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> requires: ['Ext.ux.datetime.DateTimePicker'],</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span> initComponent: function() {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> this.format = this.format + ' ' + 'H:i:s';</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> this.callParent();</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> },</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> // overwrite</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> createPicker: function() {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> var me = this,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> format = Ext.String.format;</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span> return Ext.create('Ext.ux.datetime.DateTimePicker', {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> ownerCt: me.ownerCt,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> renderTo: document.body,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> floating: true,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> hidden: true,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> focusOnShow: true,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> minDate: me.minValue,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> maxDate: me.maxValue,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> disabledDatesRE: me.disabledDatesRE,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> disabledDatesText: me.disabledDatesText,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> disabledDays: me.disabledDays,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> disabledDaysText: me.disabledDaysText,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> format: me.format,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> showToday: me.showToday,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> startDay: me.startDay,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> minText: format(me.minText, me.formatDate(me.minValue)),</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> maxText: format(me.maxText, me.formatDate(me.maxValue)),</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> listeners: {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> scope: me,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> select: me.onSelect</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> },</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> keyNavConfig: {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> esc: function() {</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> me.collapse();</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> }</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> });</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> }</div> });<br><br>i use it like this <br><br><br>
{<div><span class="Apple-tab-span" style="white-space:pre"> </span>xtype : 'datetimefield',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>fieldLabel : '开始时间',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>id : 'publishStartTime',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>editable : false,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>format : 'Y-m-d',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>anchor : '100%',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>width : 200,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>labelWidth : 60</div><span class="Apple-tab-span" style="white-space: pre; "> </span>}<br><br>and i load it too <br>
Ext.Loader.setConfig({<div><span class="Apple-tab-span" style="white-space:pre"> </span>enabled : true</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>});</div><div>Ext.Loader.setPath('Ext.ux', '../../../static/jslib/extjs-4.1.0/ux');</div><div>Ext.Loader.setPath('Ext.components', '../../../static/commonjs/components');</div><div>Ext.Loader.setPath('Ext.notify', '../../../scripts/sysmng/notify/components');</div><div>Ext.require(['Ext.data.*', 'Ext.grid.*', 'Ext.tree.*','Ext.ux.RowExpander',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>'Ext.ux.datetime.DateTimeField', 'Ext.components.BaseDataComboBox',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>'Ext.components.BaseCommonPagingToolbar',</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>'Ext.notify.addNotificationWin',</div><span class="Apple-tab-span" style="white-space: pre; "> </span>'Ext.notify.showNotificationDetailWin', 'Ext.notify.logWin']);<br><br>it can work in ff but in ie and chrome i will get " Uncaught TypeError: Cannot call method 'substring' of undefined" error .<br>help help !!!!