2

私の問題は、数値フィールドの「内部」でエンターキーを押してもイベントをキャッチできないことです。

アクションイベントをリッスンすることから始め、次にキーアップイベントをキャッチしてキーコードを確認しようとしました。それらのどれも私のために働いていません:

xtype: 'numberfield',
cls: 'bordered_input',
label: '',
name: 'value',
itemId: 'stavif_value',
listeners: {
    keyup: function(numberfield, e){
        if(e.event.keyCode == 13) 
            console.log('KEYUP CATCHED');
    },
    action: function(){
        console.log('ACTION CATCHED');
    }  
}

次に、numberfield を form.Panel 内に移動し、beforesubmit イベントをキャッチしようとしました。

var form = Ext.create('Ext.form.Panel', {
    submitOnAction: true, 
    items: [
        {
            xtype: 'fieldset',
            items: [                  
                {
                    xtype: 'numberfield',
                    cls: 'bordered_input',
                    label: '',
                    name: 'hodnota',
                    itemId: 'stavif_hodnota'
                }                                
            ],
            listeners: {
                beforesubmit: function(form, values, options) {
                    console.log('BEFORESUBMIT inside FIELDSET');
                }
           }
       }
    ],
    listeners: {
        beforesubmit: function(form, values, options) {
            console.log('BEFORESUBMIT inside form.Panel');
        }
     }
});

「リスナー」をフィールドセットにも入れました(最初はフィールドセットなしで持っていました)、何も欠けていないことを確認するためだけです。しかし、私は再び成功しませんでした。

私が混乱しているのは、numberfield の代わりに textfield を使用すると、キーアップとアクション イベントをキャッチできることです (beforesubmit についてはわかりませんが、それを試しませんでした)。

4

1 に答える 1