2013-04-17 4 views
0

Чтобы включить или отключить текстовое поле, чтобы пользователь мог иметь только одно текстовое поле для ввода данных.Включить и отключить текстовое поле, чтобы пользователь имел одно текстовое поле для ввода данных в extjs

Объяснение:

Если их два: текстовые поля поля 1, поля 2. Если пользователь хочет ввести данные в textfield1, то textfield2 должен быть отключен. В этом случае: Пользователь вводит данные в textField1 и желает, что он хочет войти вход для поля 2 вместо textField1, то данные должны быть очищены от textField1, и он должен быть отключен и поля 2 должен быть включен.

Пример кода: Я м не знает, какие слушатели событий, чтобы использовать эту функциональность.

{ 
    xtype: 'textfield', 
    width: 215, 
    fieldLabel: 'Source1', 
    id: 'textfield1', 
    listeners: { 

    } 
}, { 
    xtype: 'textfield', 
    id: 'textfield2', 
    width: 215, 
    fieldLabel: 'Source2', 
    listeners: { 

    } 
} 

Пожалуйста, помогите мне relove этому вопросу.

ответ

0
 Ext.require([ 
      'Ext.form.*' 
     ]); 

     Ext.onReady(function() { 

      var formPanel = Ext.create('Ext.form.Panel', { 
       frame: true, 
       title: 'Form Fields', 
       renderTo: Ext.getBody(), 
       width: 340, 
       bodyPadding: 5, 

       fieldDefaults: { 
        labelAlign: 'left', 
        labelWidth: 90, 
        anchor: '100%' 
       }, 

       items: [{ 
         id: 'ftf1', 
         xtype: 'textfield', 
         name: 'textfield1', 
         fieldLabel: 'Text field1', 
         value: '' 
        },{ 
         id: 'ftf2', 
         xtype: 'textfield', 
         name: 'textfield2', 
         fieldLabel: 'Text field2', 
         value: ''        
        }] 
      }); 

      var ftf1 = Ext.getCmp('ftf1'); 
      ftf1.on('change', function(ftf1, newValue, oldValue, eOpts) { 
       if (newValue.valueOf()!='') { 
        Ext.getCmp('ftf2').disable(); 
       } else { 
        Ext.getCmp('ftf2').enable(); 
       } 
      }) 
      var ftf2 = Ext.getCmp('ftf2'); 
      ftf2.on('change', function(ftf2, newValue, oldValue, eOpts) { 
       if (newValue.valueOf()!='') { 
        Ext.getCmp('ftf1').disable(); 
       } else { 
        Ext.getCmp('ftf1').enable(); 
       } 
      }) 

     }); 
+0

Благодарим за отзыв. – Dev

+0

У меня есть результат, используя прослушиватель событий keyup текстового поля. – Dev

Смежные вопросы