Sencha Touch MVC :: Попытка достичь getValues ​​() из Ext.extend (Ext.form.FormPanel, ...) - PullRequest
1 голос
/ 14 апреля 2011

Я пытаюсь достичь значений моей формы в моем приложении Sencha Touch, которое я создаю из лоскутков учебников.я хочу, чтобы это было шаблонное приложение MVC, поэтому я использую

app.views.Login = Ext.extend(Ext.form.FormPanel, formBase = {...})

и внутри него инициализирую его с

 app.views.Login.superclass.initComponent.apply(this, arguments);

и окном просмотра, как в учебнике MVC по Sencha Touch PhoneGap ( ссылка ), где я применяю страницу входа, например

Ext.apply(app.views, {loginPage: new app.views.Login()});

, в моем приложении, когда я нажимаю кнопку отправки формы, я пытаюсь поймать поля формы

handler: function() {
    console.log('username ', app.views.Login.getValues().username);
    Ext.Ajax.request({
        url: app.views.Login.url,
        method: 'POST',
        params: {username: form.getValues().username, password : form.getValues().password},
        failure : function(response){
                    console.log('Login Error! ' + response.responseText);
                },
        success: function(response, opts) {
                    console.log('Login success! response: ' + response.responseText);
                  }
    });
}

но я всегда получаю сообщение об ошибке

Uncaught TypeError: Невозможно вызвать метод getValues ​​с неопределенным значением *

, когда я использую

console.log('username ', this.getValues().username);

так как мне получить значения формы?

thnx !!!

1 Ответ

1 голос
/ 14 апреля 2011

Глядя на Документация Sencha Touch API , я не вижу метода getForm(), но getValues() должен быть доступен таким образом с вашей кнопки handler Функция:

app.views.loginPage.getValues();
...