ExtJS: поле фокуса - PullRequest
       8

ExtJS: поле фокуса

3 голосов
/ 22 сентября 2010

У меня есть окно, содержащее форму (formPanel). Пользователи могут показать это окно, нажав на кнопку в среде ExtJS. Мне бы хотелось, чтобы, когда пользователь нажимал кнопку, чтобы показать окно, особое поле внутри формы, содержащейся в окне, будет фокусироваться (под этим я подразумеваю, что курсор должен перемещаться в это поле, чтобы пользователь мог вставлять данные без необходимости сначала нажмите на само поле).

Я попробовал некоторые решения, но не смог заставить их работать. Есть намеки?

Вот то, что я пытался, используя некоторые примеры, которые я нашел ... но это не работает, как ожидалось. Эта функция () вызывается кнопкой ExtJS в моем интерфейсе:

function openCardForm(IDUser){

    //Reset the value of this field which may be still there from the prev. usage
    Ext.getCmp('assignFormCARDNUMBER').reset();
    formAssignCard.getForm().load({ 
        url: 'gen/jsonUser.php',
        params:{IDUser:IDUser},
        waitMsg: 'Loading...'
    });
    //Try to focus the Card field when rendering the form
    Ext.getCmp('assignFormCARDNUMBER').on("render",function(){
        Ext.getCmp('assignFormCARDNUMBER').focus(true,10);
    });
    win.show();
}

Ответы [ 3 ]

4 голосов
/ 22 сентября 2010

примерьте show.

3 голосов
/ 29 ноября 2011

Или используйте

defaultButton : yourComponentToFocusOn

Немного сбивает с толку, но defaultButton может быть любым компонентом (необязательно быть реальной кнопкой)

1 голос
/ 22 сентября 2010

Вы также можете попробовать установить нулевое значение tabindex поля в его параметрах конфигурации ... таким образом, вам даже не потребуется добавлять прослушиватель для обнаружения события show.

т.е.:

tabIndex:0
...