0

extjsのフォームで保存ボタンを使いたいです。これは私がハンドラーとして持っているものです

{
         xtype: 'button',
         handler: function(button, event) {
             var form = this.getForm();
             if (form.isValid()) {
                Ext.MessageBox.alert('Submitted Values', form.getValues(true));
                                 }
                                           },
          height: 37,
          id: 'configurationDriversSave',
          text: 'Save'
}

firebug で取得できるのはエラーだけです。this.getForm は関数ではありません。私は何を間違っていますか?

4

3 に答える 3

2

ハンドラーでthisは、ボタン自体を参照します。ファイアバグでは、もちろんボタンにメソッドがないことを確認できますgetForm()。'this.up(' form')`のようなものを呼び出す必要があります。

2つ目は、自分がやろうとしているように手動で検証する必要がないことです。ExtJsには、フォームの検証メカニズムが組み込まれています。

于 2012-06-05T10:32:16.597 に答える
0
this.getForm

は Firefox ではサポートされていません. 代わりに使用してください. または, このリンクdocument.formsからも参照を得ることができます.

于 2012-06-05T09:20:24.797 に答える
0

このブログ投稿によるとthis.form、イベントを生成した要素を含むフォーム要素に簡単にアクセスできます。

だから、代わりに

var form = this.getForm();

使用する

var form = this.form;
于 2012-06-05T16:41:51.550 に答える