http://docs.sencha.com/architect/2-0/#!/guide/views_forms_extjsに示されている例を拡張して、MVC中心のアプローチを使用しています。そのため、クリックハンドラーをビューから新しく作成したコントローラーに移動します。
クリックは正常に機能していますが、コントローラーのコンテキストからフォームを操作する方法がわかりません(ビューはthis.getForm()を使用していました)。
これが私がこれまでに持っているものです、
Ext.define('LoginExample.controller.LoginController', {
extend: 'Ext.app.Controller',
onLoginButtonClick: function(button, e, options) {
console.log('button clicked');
if (this.getForm().isValid()) {
this.getForm().submit({
url: 'login.php',
success: function(form, action) {
Ext.Msg.alert('Login Successful!');
},
failure: function(form, action) {
Ext.Msg.alert('Login Failed!');
}
});
}
},
init: function() {
this.control({
"#loginButton": {
click: this.onLoginButtonClick
}
});
}
});
明らかに、onLoginButtonClickのコンテキストでのこれは、ビューではなく、代わりにコントローラーです。
与えられたパラメーター(Ext.button.Buttonボタン、イベントe、オブジェクトオプション)を前提として、適切なフォームで送信を取得するにはどうすればよいですか?
ExtJS4を使用してこれに注意する必要があります。