1

我的表格上有日期字段:

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

当我像这样创建日期字段时,我不能使用侦听器,我要使用变量来创建日期字段吗?

4

2 回答 2

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');
            }
        }
    }]
});
于 2013-05-15T04:48:56.240 回答
1

您不能this用作参数名称,也不能使用其他名称,例如selfor me

'change': function(self,newValue,oldValue){ 
于 2013-05-15T04:48:27.623 回答