表單加載後會觸發哪個事件?我的要求是在視負荷基於一些condation某些控件設置爲禁用模式的時間(只讀) 所以如何處理這個我(這事件) 試試這個formpanel.on({ actioncomplete: function (form, action) {}
但IST沒有被解僱提前ExtJS表格加載
感謝
表單加載後會觸發哪個事件?我的要求是在視負荷基於一些condation某些控件設置爲禁用模式的時間(只讀) 所以如何處理這個我(這事件) 試試這個formpanel.on({ actioncomplete: function (form, action) {}
但IST沒有被解僱提前ExtJS表格加載
感謝
我假設你在記錄/數據加載到表單後發生事件。行動得到處理在basicForm
和電話。內basicForm
的load()
電話doAction()
所以你應該能夠使用從basicForm
actioncomplete下列事件:(此表格,動作 動作)時的動作是 完成觸發。
actionfailed :(形式,動作 action)動作失敗時觸發。
beforeaction :(形式這,行動 行動)執行任何行動之前觸發 。返回false取消 操作。
我今天就這樣掙扎着。要記住的重要一點是,沒有事件因form.loadRecord()
被解僱,因爲它只是一個setValues()
包裝。如果您想要在loadRecord()
上觸發活動,您需要自行定義Ext.form.Basic
(並可能將活動添加到中繼活動Ext.form.Panel
中)。
您可以使用Ext.util.Observable.capture觀察Observable上的事件。這裏是一個被加載,然後提交觀察形式的一個例子:
http://jsfiddle.net/el_chief/HBah5/4/
我看到這些事件:
fieldvaliditychange
fielderrorchange
validitychange
dirtychange
beforeaction(我打提交)
afterlayout
actionfailed(它沒有提交給ywhere)
不要忘記,BasicForm有它自己的事件(儘管我相信它們都被轉發到Form),就像表單中的Fields一樣。
更改basic.trackResetOnLoad改變一些事件也一樣,尤其是「dirtychange」
感謝您的重播,我已經嘗試beforeaction但它沒有被解僱,而且我已經嘗試過這種「Ext.getCmp(」 PeopleSearchFormPanel 「).getForm()。on({beforeaction:function(a,o){debugger; Ext.getCmp('btaAdd')。disable();}});」,,但它沒有被解僱 – MNR 2011-05-19 07:20:12
@MNR必須在你的代碼中出現錯誤...'load()'內部調用'doAction()'並觸發'beforeaction'事件... – sra 2011-05-19 08:03:55