ExtJs datepicker监听器

时间:2013-05-15 04:43:09

标签: extjs extjs3

我的表格上有日期字段:

        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){ 

当我创建像这样的日期字段时,我无法使用监听器,我会使用变量来创建日期字段吗?

2 个答案:

答案 0 :(得分: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');
            }
        }
    }]
});

答案 1 :(得分:1)

您无法使用this作为参数名称,请使用其他内容,例如selfme

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