1

Extjs 3.4 では、問題なく動作している ajax 呼び出しから入力されているかなり大きなフォームがありsomeForm.getForm().load({url: someplace, etc})ます。ただし、回避できない問題は、別のフィールドが表示されているかどうかを判断するコンボボックスとチェックボックスがいくつかあることですallowBlank

同様の質問の回答に従って、actioncompleteフォームでイベントを使用しようとしましたが、その時点でフィールドに値がありません。success通話のイベントも使用してみましload()たが、同じ問題が発生します。

form.load()通話からこの機能を取得する他の方法はありますか?

編集 - ここに私のload電話があります:

var panel = Ext.getCmp('someFormID');
panel.getForm().load({
    method: 'GET',
    url: 'ajax_get_request.aspx?id=' + id,
    success: function (form) {
        // This will error: object is null or undefined
        alert(form.findField('fieldID').getValue());
    }
});

私はExtjsに比較的慣れていないので、ここに何かが欠けているだけかもしれません...

4

1 に答える 1

1

successのコールバックへのフックがExt.form.BasicForm.load()失敗する理由はわかりませんが、別のアプローチを提案できます。

私は通常、明示的なExt.Ajax.request()呼び出しを使用してデータを にロードしますExt.data.Record。次に、request()successコールバックで、 を使用してデータをフォームにロードしますExt.form.BasicForm.loadRecord()。ロードされた値に基づいて操作する必要がある場合は、同じコールバックで実行できます。

サーバーからの元の値を別の場所に保存したいので、このようにします。

于 2013-02-27T17:51:24.603 に答える