var period1Start = new Ext.form.DateField({ width: 200, format: 'Y-m-d', id: grid.id+'1', // value:new Date(), // minValue:'2009-08-08', blankText: '请选择期间1起始日期', emptyText: '请选择期间1起始日期', invalidText: "{0}不是有效日期 - 示例格式:/"1900-01-01/"", showToday: false, x: 150, y: 6 }); var period1End = new Ext.form.DateField({ width: 200, format: 'Y-m-d', id:grid.id+'2', // value:new Date().add(Date.DAY,+4), blankText: '请选择期间1结束日期', emptyText: '请选择期间1结束日期', invalidText: "{0}不是有效日期 - 示例格式:/"1900-01-01/"", showToday: false, x: 150, y: 36, listeners: { focus: function() { if (period1Start.getValue() == '') Ext.MessageBox.alert("提示", "请选择起始日期"); else { var date = period1Start.getValue(); this.setMinValue(date) } } } }); 给每个DateField加一个特别的ID是为了避免多个JS同时调用这个日历控件时发生日历位置(DateField位置)偏离,其中grid是我项目中引用它的一个表格,