2013-05-15 105 views
1

我有我的表上的DateField:ExtJS的日期選擇器監聽

 var intForm = new Ext.FormPanel({ 
     width: 350, 
     autoHeight: true, 
     bodyStyle: 'padding: 10px 10px 10px 10px;', 
     labelWidth: 70, 
     defaults: { 
      anchor: '95%', 
      allowBlank: false, 
      msgTarget: 'side' 
     },items:[{ 
      xtype:'datefield', 
      fieldLabel: 'Выберете дату', 
      name: 'intDate', 
      anchor:'80%', 
      maxValue: new Date(), 
      listeners:{ 
       'change': function(this,newValue,oldValue){ 
        alert('newValue'); 
       } 
      } 
     }] 
    }); 

但磨片我啓動應用程序,我得到錯誤:

SyntaxError: missing formal parameter 

'change': function(this,newValue,oldValue){ 

當我創建的DateField這樣我不能使用監聽器,我該怎麼使用變量來創建日期字段?

回答

2

你有一個語法錯誤,你不能使用this作爲參數的名稱將其更改爲field或任何其他名稱

var intForm = new Ext.FormPanel({ 
    width : 350, 
    autoHeight : true, 
    bodyStyle : 'padding: 10px 10px 10px 10px;', 
    labelWidth : 70, 
    defaults : { 
     anchor : '95%', 
     allowBlank : false, 
     msgTarget : 'side' 
    }, 
    items : [{ 
     xtype : 'datefield', 
     fieldLabel : 'Выберете дату', 
     name : 'intDate', 
     anchor : '80%', 
     maxValue : new Date(), 
     listeners : { 
      'change' : function(field, newValue, oldValue) { 
       alert('newValue'); 
      } 
     } 
    }] 
}); 
+0

呀,謝謝你的回答。 –

1

您不能使用this作爲參數名稱,請使用其他類似selfme

'change': function(self,newValue,oldValue){