Получить ссылку из внешнего компонента - PullRequest
0 голосов
/ 28 июня 2019

У меня проблемы с получением входных значений по ссылкам Extjs6.Кажется, нет четкого ответа, и Google загрязнен ответами, которые кажутся различными для разных версий Extjs.

У меня есть окно, которое содержит текстовое поле и кнопку сохранения, из нужного текстового полячтобы получить вводимые пользователем данные и передать их моему Ajax-вызову.

Мой код:

window.updatePassword = function(button) {
   var win = new Ext.Window({
       referenceHolder: true,
       items: [{
            xtype: 'form',
            items: [{
                xtype: 'textfield',
                fieldLabel: "newPassword",
                reference: 'newPassword',
                inputType: 'password'
            }],
        }],
        buttons: [{
            text: 'save',
            handler: function (btn) {
                Ext.Ajax.request({
                    url: '../../Password_updatePassword.action',
                    params : {
                        newPassword: win.newPassword
                    },
                    scope: this,
                    disableCaching: true
                });
             },
             scope: this
        }]
   });
   win.show(this);
};

То, что я до сих пор пробовал:

this.lookupReference('newPassword')
win.values
win.getValues()
win.newPassword
Ext.getCmp('newPassword')

Любой совет будет оценен.

1 Ответ

1 голос
/ 28 июня 2019
  • this.lookupReference('newPassword') - Это относится к текущему объекту, и у обработчика нет компонента для поиска.
  • win.values - не имеет никакого смысла, если вы не создали конфигурацию в win.
  • win.getValues() - опять не имеет никакого смысла, если вы не создали метод в win.
  • win.newPassword - опять то же самое.
  • Ext.getCmp('newPassword') - getCmp работает с идентификатором, а не со ссылкой.

Чтобы получить ссылку на поле пароля, вы можете посмотреть на win объект,

win.lookupReference('newPassword');

Чтобы получить значение, вы должны использовать метод getValue ().

win.lookupReference('newPassword').getValue();
...